将从mongo返回的日期转换为这种格式2015-10-25

2024-01-09

我有一个从 mongo db 返回的 json 文件,如下所示:

[
{
    "_id": {
        "$date": "2014-10-19T04:00:00.000Z"
    },
    "value": 29
},
{
    "_id": {
        "$date": "2014-10-20T04:00:00.000Z"
    },
    "value": 20
},
{
    "_id": {
        "$date": "2014-10-21T04:00:00.000Z"
    },
    "value": 21
}
]

现在我想读取java中的日期,格式如下:2014/10/25

但是当我使用时:

System.out.println("DAte is : "+result.get("_id").toString() );

结果是:

DAte is : Sun Oct 19 01:00:00 ADT 2014

然后我唯一想到的是使用子字符串并手动将日期转换为 2014-10-25 但我确信会有更好的方法。有人有什么主意吗?

更新 :

答案如下:

将日期从一种格式转换为另一种格式不起作用 https://stackoverflow.com/questions/27805732/converting-date-from-one-format-to-another-does-not-work

非常感谢您的帮助


您可以使用此方法来解析mongo日期格式。但在这里我们忽略了时区。因此,如果时区不重要,请使用此选项。

private static String convertMongoDate(String val){
    SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
    SimpleDateFormat outputFormat= new SimpleDateFormat("yyyy/MM/dd");
    try {
        String finalStr = outputFormat.format(inputFormat.parse(val));
        System.out.println(finalStr);
        return finalStr;
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return "";
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将从mongo返回的日期转换为这种格式2015-10-25 的相关文章

随机推荐