Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mongodb日期转换问题_Java_Mongodb_Morphia - Fatal编程技术网

Java mongodb日期转换问题

Java mongodb日期转换问题,java,mongodb,morphia,Java,Mongodb,Morphia,我在java中将mongoDB与morphia一起使用,并以日期格式保存一个值 保存前的值:Wed Mar 14 03:09:23 IST 2012 在mongo中保存后:ISODate(“2012-03-13T21:39:23Z”) Mongo在保存时添加一些小时数,有没有办法将此值保存为日期格式 谢谢mongodb将datetime保存为“UTC datetime”,您可以参考以下链接 要使用存储的日期,只需将其转换为本地时间。您将获得原始记录。但当我按日期搜索时会出现问题,假设我按“20

我在java中将mongoDB与morphia一起使用,并以日期格式保存一个值

保存前的值:Wed Mar 14 03:09:23 IST 2012
在mongo中保存后:ISODate(“2012-03-13T21:39:23Z”)

Mongo在保存时添加一些小时数,有没有办法将此值保存为日期格式

谢谢

mongodb将datetime保存为“UTC datetime”,您可以参考以下链接


要使用存储的日期,只需将其转换为本地时间。您将获得原始记录。

但当我按日期搜索时会出现问题,假设我按“2012-03-14”搜索,则存储为ISODate(“2012-03-13T21:39:23Z”)的特定记录不在搜索结果中。我是否应在执行查询之前将“2012-03-14”转换为UTC?当然,在查询数据库之前,如果使用纯文本表示日期,则需要转换为UTC。否则,如果您使用java驱动程序,您可以只使用datetime对象而不进行转换。当尝试仅在本地时区中搜索日期部分时,匹配日期值不会减少它,因为本地TZ中的一个日期跨越UTC中的两个日期。请注意,“搜索日期YYYY-MM-DD”实际上是指“搜索YYYY-MM-DDT00:00:00和YYYY-MM-DDT23:59:59.999之间的时间戳”。除非您在本地TZ中构造此时间戳范围,并在查询之前将该范围的两端转换为UTC,否则您将无法得到正确的答案。