将json日期解析为特定的日期格式

时间:2019-06-24 11:38:01

标签: java json date parsing

我正在尝试使用以下内容来解析一些json文档,该文档包含日期输入作为纪元数字值: Document.parse(((JSONObject) o).toJSONString())日期格式会自动设置为ie。 Wed Nov 08 05:10:20 CET 2017 我需要其他格式(也需要毫秒)

所以问题是,如何解析ie。使用Bson Document.parse方法"$date" -> "1510114220518"到一些自定义格式的字符串吗?

JSONArray arrJson = getJsonData(sFilePath);
            for (Object o : arrJson) { 
                Document doc = Document.parse(((JSONObject) o).toJSONString());

编辑: 只是更新:问题出在Document.parse方法中,因为我不知道在解析json文档时如何告诉.parse函数使用自定义日期格式。我总是得到某种默认的日期格式。 如何发送给.parse方法一些参数以返回具有所有数据和自定义日期格式的文档? 像这样:

Format dateFormat = 'yyyy-MM-dd@HH:mm:ss.SSSZ'
Document doc = Document.parse(((JSONObject) o).toJSONString(dateFormat ));```

Im always getting ```Wed Nov 08 05:10:20 CET 2017``` format, **I need a Document with all data and all dates to be in yyyy-MM-dd@HH:mm:ss.SSSZ format** ?

This is sample of json document:
[
{ "_id" : { "user_id" : { "$oid" : "51b76b7459a273c8a6000ed8" }, "updated_at" : { "$date" : 1510114220518 } }, "count" : 153 },
{ "_id" : { "user_id" : { "$oid" : "51b76b7459a273c8a6000ed8" }, "updated_at" : { "$date" : 1511405948977 } }, "count" : 3 },
{ "_id" : { "user_id" : { "$oid" : "51b76b7459a273c8a6000ed8" }, "updated_at" : { "$date" : 1511405948991 } }, "count" : 153 }

and when I do the Document.parse()...date is in some default format like ie. Wed Nov 08 05:10:20 CET 2017

1 个答案:

答案 0 :(得分:0)

据我所知,您可以只使用Java的SimpleDateFormat类。例如:

long time = 1510114220518;
SimpleDateFormat simpleFormat = new SimpleDateFormat ("yyyy.MM.dd 'at' hh:mm:ss");
Date date = new Date(time);
System.out.println(simpleFormat.format(date));