我有一个MongoDB查询:
db.Certificates.countDocuments(
{"vaccination.somministration_date":ISODate("2021-08-04")}
)我也想在我的java应用程序中执行它,所以我尝试了以下代码:
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)
发布于 2021-12-10 01:05:44
MongoDB在GMT+0中存储日期时间。您在Javascript中的第一个查询是调用ISODate(),它总是使用GMT+0 ("Z"ulu)时间偏移量生成一个日期时间。在调用parse()时,您的Java环境很可能考虑了本地时间的抵消,并创建了一个稍微不同的日期时间。
https://stackoverflow.com/questions/70293526
复制相似问题