我在任何地方都找不到。我从返回标准JSON日期的API中获取了一些JSON。您可以通过在JavaScript控制台中运行以下代码来查看格式:
> new Date().toJSON();
"2010-10-27T11:58:22.973Z"
好吧,实际上,我正在使用的API不会返回毫秒部分,有时会返回一个时区而不是Z
,因此日期看起来可能像以下任何一个:
2010-10-27T11:58:22Z
2010-10-27T11:58:22+03:00
解析这些日期有点麻烦。有没有办法使用解析这些日期org.json
?
我当前的解决方案是:
public static Date parseDateTime(String dateString) {
if (dateString == null) return null;
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");
if (dateString.contains("T")) dateString = dateString.replace('T', ' ');
if (dateString.contains("Z")) dateString = dateString.replace("Z", "+0000");
else
dateString = dateString.substring(0, dateString.lastIndexOf(':')) + dateString.substring(dateString.lastIndexOf(':')+1);
try {
return fmt.parse(dateString);
}
catch (ParseException e) {
Log.e(Const.TAG, "Could not parse datetime: " + dateString);
return null;
}
}
啊!
该DateTime格式实际上是ISO 8601
DateTime。JSON没有为日期/时间指定任何特定格式。如果您对Google感兴趣,就会发现有很多实现可以用Java解析。
这是一个
如果您愿意使用Java内置的Date / Time / Calendar类之外的其他东西,我也建议您使用Joda Time。他们提供了(其中包括)ISODateTimeFormat
解析此类字符串的功能。
问题内容: 如何将特定日期从Java存储到数据库?(不仅是今天的日期,而且还有用户想要指定的一些日期) 问题答案: 用 类型和被假定分别用于设置日期和时间戳字段。阅读他们的文档,了解它们之间以及与和之间的区别。 通常,您会从用户那里获得一个Java日期()。您使用将该时间转换为自纪元以来的毫秒数,然后转换回a 或如我所示。
问题内容: 我的json 响应 包含一个 CreatedOn 日期: 我需要将 CreatedOn 转换为简单的日期格式,并 计算从CreatedOn日期到当前日期的差异天数。 当我调试下面的代码字符串 CreatedOn时 显示一个空值。怎么会? 问题答案: 要么 考虑使用JSON方法而不是包含。JSON具有“ has()”,用于验证密钥是否存在。 您还应该确保首先尝试{}捕获{}字符串,以确保
问题内容: 我有来自API的Date格式,如下所示: 这是YYYY-DD-MM HH:MM am / pm GMT时间戳。我将此值映射到POJO中的Date变量。显然,其显示转换错误。 我想知道两件事: 与Jackson进行转换时,我需要使用哪种格式?Date是否适合此字段类型? 通常,是否有一种方法可以在Jackson将变量映射到Object成员之前对其进行处理?诸如更改格式,计算等。 问题答案
问题内容: 每个人。我收到此错误: 对于这段代码 关于为什么发生这种情况的任何建议,我都会吸用结构化语言,以便您知道:) 问题答案: 使用。
问题内容: 如何从JSON.Net转换日期时间格式,例如: /日期(1154970000000 + 0700)/ 到ISO- ?? 格式2011-12-18T23:34:59Z 最好使用Python或Javascript。 Ive决定使用后者,因为它在JS世界中似乎是使用最广泛,人类可读且自然可排序的。我将按用户存储偏移量。 如果实现又有点问题,是否有人可以告诉我两种格式的正确名称,我可能会更不了
问题内容: 我正在实现一个 Facebook 应用程序,并使用 AJAX / JSON 。 但是,返回的 JSON 结构具有此格式。 我正在调用控制器动作。 如何将它们转换为正常的日期格式? 使用 fbjs 从服务器端或客户端进行操作更 容易 吗? fbjs 有很多错误。 因此,我希望使用using()中的解决方案。就像在发送结构之前转换数据。 问题答案: 我将自己的自定义格式添加到返回的json