强健的四季豆 · java关于时间比较|String转Date ...· 1 周前 · |
腼腆的土豆 · 另一种思路比较2个日期是否相等的方式_判断两 ...· 1 周前 · |
强悍的毛豆 · Selenium switch_to方法 ...· 1 月前 · |
咆哮的地瓜 · 基于Python的在线任务兼职管理系统设计与 ...· 2 月前 · |
温柔的砖头 · 通过数据开发功能快速实现常见的数据归档需求_ ...· 11 月前 · |
私奔的卤蛋 · qlistwidget添加图标-掘金· 1 年前 · |
气宇轩昂的毛巾 · WPF中使用Winform中的控件导致的重叠 ...· 1 年前 · |
我有json字符串,它从
mongodb
返回。
[{"_id":"578bb51aa51d15940688809e","name":"aaa","date":"2016-07-20T11:47:39.302Z"}]
我使用
gson
来转换Java对象。我找到
Unparseable date: "2016-07-20T11:47:39.302Z"
了。因此,我向
gson
构建器添加了日期格式。
Gson gson= new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").create();
日期结果是
Wed Jul 20 11:47:39 MMT 2016
。时间是
incorrect
。
日期字符串的更好的日期格式模式是什么?
如何通过给定的日期字符串选择合适的日期格式模式?
如果我没有弄错,你的时区信息有问题。JavaScript
Date
对象和
Date
对象都表示
https://www.wikiwand.com/en/Coordinated_Universal_Time
(UTC)中的一个点。JavaScript
Date
对象和
Date
对象都不包含时区信息。
侧注:
Date
对象实际上包含时区信息,这就是为什么在调用
date.toString()
时会看到时区(在您的情况下是
MMT
)。尽管如此,这个时区应该被
忽略,因为时区异常突出了Java7日期/时间类的一些
许多问题
。
GsonBuilder().setDateFormat()
方法设置
Date
对象应该序列化和反序列化的字符串格式。此格式也不包含任何时区信息,因为
Date
对象不包含该信息。
为了在正确的时区中显示
Date
对象表示的UTC时间,必须提供该时区。这不是在使用
Gson
反序列化期间完成的,而是在实际显示日期/时间时完成的:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
simpleDateFormat.setTimeZone(TimeZone.getDefault());
String zonedDateTime = simpleDateFormat.format(date);
Android还附带了一个方便的
DateUtils
类,而不是
SimpleDateFormat
,它将为您处理时区信息以及
Locale
信息。
DateUtils.formatDateTime(getContext(), date.getTime(),
DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_ABBREV_ALL);
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
私奔的卤蛋 · qlistwidget添加图标-掘金 1 年前 |