MongoDB日期时间插入在java中并不是完美的
我正在本地机器上运行代码。mongoDb也在本地运行。所以,如果我没有错的话,时区应该没有问题。我写这封信:MongoDB日期时间插入在java中并不是完美的,java,mongodb,date,datetime,datetime-format,Java,Mongodb,Date,Datetime,Datetime Format,我正在本地机器上运行代码。mongoDb也在本地运行。所以,如果我没有错的话,时区应该没有问题。我写这封信: DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateHourMinuteSecond(); LocalDateTime date=new LocalDateTime(); DateTime dateTime = dateTimeFormatter.parseDateTime(dateTimeFormatter.print
DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateHourMinuteSecond();
LocalDateTime date=new LocalDateTime();
DateTime dateTime = dateTimeFormatter.parseDateTime(dateTimeFormatter.print(date));
BasicDBObject basicDBObject = new BasicDBObject();
basicDBObject.put("batchId",batchId);
basicDBObject.put("batchStatus",BatchStatus.STARTED.toString() );
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>: "+ date.toString());
basicDBObject.put("startTime",dateTime.toDate());
mongoTemplate.getCollection(collectionName).insert(basicDBObject);
系统输出正在打印2016-12-23T11:24:54.907。在db中,我得到2016-12-23 05:54:54.000Z。有人能帮忙吗
谢谢,
Sumit.Mongo将时间存储为时间,在程序中将时区设置为本地
LocalDateTime localtDateAndTime=LocalDateTime.now(ZoneId.of(“澳大利亚/悉尼”));
这是时区问题。设置时区,然后选中timezone.setDefault是否有效?这是它的设计方式。Mongo以UTC存储日期时间。从数据库读回所需区域时,将其更改为所需区域。