我有一个简单的NEST查询与DateRanges谓词:
DateTimeOffset dt;
...
.DateRange(r => r
.Field("Time")
.LessThanOrEquals(dt)
根据this question,仅将DateTimeOffset
转换为DateTime
可能会导致数据丢失。 LessThanOrEquals
和其他谓词方法接受Nest.DateMath
类型的对象,该对象具有以下运算符:
public static implicit operator DateMath(DateTime dateTime);
public static implicit operator DateMath(string dateMath);
此外,DateRangeQueryDescriptor
还有一个方法:
public DateRangeQueryDescriptor<T> TimeZone(string timeZone);
但我不确定如何使用它。
问题:
如何在DateTimeOffset
中使用DateRange
对象作为NEST
谓词的值,并确保发送给Elastic的日期是正确的?