繁体   English   中英

使用Java在MongoDB中按本地时区插入/检索日期

[英]Insert/Retrieve Date as per local time zone in MongoDB using Java

我正在使用Java在mongodb集合中插入当前日期。

我正在使用以下代码来做到这一点:

BasicDBObject doc = new BasicDBObject(“ date”,new Date()); coll.insert(DOC);

它将日期保存为GMT,而不是我的本地时区。 但是,当我使用命令通过外壳插入时: db.test.insert({date:Date()}); 正在使用我的当地时区。

有什么方法可以使用Java按照本地时区格式插入Date或在检索时将日期转换为本地时区的任何方法。

感谢和问候

java Date对象是有意地与时区无关的,并且应表示GMT时间(自1970年1月1日格林尼治标准时间00:00:00开始,它内部存储其值(以毫秒为单位)。 我真的建议您使用此方法并在GMT内部处理所有日期,因为它为您节省了许多夏时制或将您的应用程序以分布式方式部署在多个时区的麻烦。

要将Date对象与代表用户所在时区的字符串进行转换,请使用SimpleDateFormat在该setTimeZone与用户TimeZone一起调用setTimeZone方法(静态方法TimeZone.getDefault()为您提供本地系统的时区) )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM