json 日期 java_JSON日期到Java日期?

参见英文答案 >

Converting ISO 8601-compliant String to java.util.Date                                    22个答案                            我找不到这里。我从返回标准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;

}

}

啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值