gpt4 book ai didi

Java,从单独的 JSON 值到字符串的日期

转载 作者:行者123 更新时间:2023-12-02 08:14:52 25 4
gpt4 key购买 nike

我有一个 JSON 对象返回到我的应用程序,其中包含日期

date": {
"year": 2011,
"month": 5,
"dayOfMonth": 30,
"hourOfDay": 16,
"minute": 13,
"second": 47
},

我需要使用此日期并将其存储在 SQL 数据库中(很可能作为字符串),因此我使用 Java 中的 JSON 函数解析此日期对象

在这里,我尝试将整个部分格式化为一个字符串,日期之间有破折号,小时分钟秒之间有冒号。希望我可以用 SimpleDateFormat 解析它,但是失败并出现 parserExceptionerror

dataObj.getJSONObject("dateObject").getString("year") + "-" +
dataObj.getJSONObject("dateObject").getString("month") + "-" +
dataObj.getJSONObject("dateObject").getString("dayOfMonth") + " " +
dataObj.getJSONObject("dateObject").getString("hourOfDay") + ":" +
dataObj.getJSONObject("dateObject").getString("minute") + ":" +
dataObj.getJSONObject("dateObject").getString("second");

解决这个问题的最佳方法是什么?

我需要获取 JSON 字符串并将它们组合成一个可读的日期,理想情况下我可以将其转换为字符串。这可以是格式化日期 - 例如 simpledateformat 会做的事情,也可以以毫秒为单位。

赞赏洞察力

最佳答案

假设目标是将日期信息的字符串表示形式(例如格式为“2011-5-30 16:13:47”)转换为 java.util.Date实例...

String dateString = "2011-5-30 16:13:47";
Date date = new SimpleDateFormat("yyyy-M-dd HH:mm:ss").parse(dateString);
System.out.println(date);
// output: Mon May 30 16:13:47 MST 2011

String dateString2 = "2011-11-3 16:13:47";
Date date2 = new SimpleDateFormat("yyyy-M-dd HH:mm:ss").parse(dateString2);
System.out.println(date2);
// output: Thu Nov 03 16:13:47 MST 2011

另一种方法是将所有 JSON 输入值转换为 Java 整数,然后使用 Calendar.getInstance().set(year + 1900, month, date, hrs, min, sec).getTime() .

关于Java,从单独的 JSON 值到字符串的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com