首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ISODate转换查询

用ISODate转换查询
EN

Stack Overflow用户
提问于 2021-12-09 16:39:20
回答 1查看 48关注 0票数 0

我有一个MongoDB查询:

代码语言:javascript
复制
db.Certificates.countDocuments(
  {"vaccination.somministration_date":ISODate("2021-08-04")}
)

我也想在我的java应用程序中执行它,所以我尝试了以下代码:

代码语言:javascript
复制
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2021-08-04");
Bson query = eq("vaccination.somministration_date", date);
long count = collection.countDocuments(query);

但是我得到的结果是不同的(与mongo不同,我的结果是1,而java的结果是0)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-10 01:05:44

MongoDB在GMT+0中存储日期时间。您在Javascript中的第一个查询是调用ISODate(),它总是使用GMT+0 ("Z"ulu)时间偏移量生成一个日期时间。在调用parse()时,您的Java环境很可能考虑了本地时间的抵消,并创建了一个稍微不同的日期时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70293526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档