首页 新闻 会员 周边

关于Mongodb C#驱动 DateTimeOff时间类型

0
悬赏园豆:30 [已解决问题] 解决于 2018-05-22 17:09

通过C#驱动调用Mongodb数据,CreatTime类型为DateTimeOff。

1 DateTimeOffset dateTime = DateTimeOffset.Parse("2017-05-22");
2 Expression<Func<News, bool>> exp = x => ((x.CreateTime >= dateTime);

当在本地调取数据的时候,能按照时间把数据调取出来。当调取服务器上数据的时候数据就为空。去掉时间显示数据就调出来了。

是不是跟DateTimeOff类型有关系,以前都用DateTime。

Impossible的主页 Impossible | 初学一级 | 园豆:72
提问于:2018-05-22 10:25
< >
分享
最佳答案
0

可能是因为服务器与你本机的时区设置不一样,DateTimeOffset 是包含时区信息的时间格式,建议将 "2017-05-22" 改为 "2017-05-22 +8"

收获园豆:30
dudu | 高人七级 |园豆:30994 | 2018-05-22 12:12

时区是一样的,看了一些Stackoverflow上的类似问题,DateTimeOffset在存储到Mongodb上的时候变为了[ NumberLong(636623411155537109), 480]的数组,驱动直接通过时间查询不到数据。

Impossible | 园豆:72 (初学一级) | 2018-05-22 13:49

@Impossible: 试试 stackoverflow 上的这个方法

DateTimeOffsett compareTime = DateTimeOffsett.UtcNow.AddMinutes(-15);
var result = _collection.Find(Query.GT("CreationTimestamp.0", compareTime.Ticks)).Count();
dudu | 园豆:30994 (高人七级) | 2018-05-22 13:57
其他回答(1)
0
爱编程的大叔 | 园豆:30839 (高人七级) | 2018-05-22 10:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册