我正在使用MongoCursor迭代集合并检索changeDate(采用ISODate格式)。但是,使用mongocursor以不同的格式返回数据。是否可以以ISODate格式检索changeDate。
这是文档结构和我的代码。请告诉我如何以ISODate格式检索日期。
MongoCursor<Document> cursor = col.find().iterator();
while (cursor.hasNext()) {
Document doc = hCursor.next();
Object changeDate = doc.getDate("ChangeDate");
System.out.println(changeDate);
}
changeDate以以下格式返回: 2017年5月5日星期五18:46:58 EDT 2017
收集数据的结构:
{
"_id" : ObjectId("590a253fe4b05069ea21776b"),
"changeDate" : ISODate("2017-05-03T18:46:58.577Z"),
"createdBy" : “abc”,
"lastChangedBy" : “xyzzy”
}
我希望输出为2017-05-03T18:46:58.577Z。 我尝试使用joda日期,但没有发现它非常有用。 感谢任何帮助!!
答案 0 :(得分:2)
您可以将Date
更改为Instant
和toString()
。使用DateTimeFormatter.ISO_INSTANT
https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_INSTANT
Date changeDate = doc.getDate("ChangeDate");
String instant = changeDate.toInstant().toString(); // 2017-05-03T18:46:58.577Z