Java mongodb日期转换问题
我在java中将mongoDB与morphia一起使用,并以日期格式保存一个值 保存前的值:Wed Mar 14 03:09:23 IST 2012Java 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
在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,否则您将无法得到正确的答案。