我正在尝试使用下面的ZonedDateTime对象行解析格式为“yyyy-MM-dd'T'HH:MM:ssZ”的ISO8601时间字符串:
ZonedDateTime date = ZonedDateTime.parse("2021-02-19T14:32:12+0000", DateTimeFormatter.ISO_ZONED_DATE_TIME);
然而,我得到以下错误时,这样做:
java.time.format.DateTimeParseException: Text '2021-02-19T14:32:12+0000' could not be parsed at index 19
我无法想象这是不允许的,因为符号是解析的有效字符。有人能帮忙解决这里的问题吗?
看文档。
使用
DateTimeFormatter。模式(“uuu-MM-dd'T'HH:MM:ssxx”,Locale.ROOT)
。或者,您可以使用
DateTimeFormatterBuilder
:
new DateTimeFormatterBuilder() .append(DateTimeFormatter.ISO_DATE_TIME) .appendPattern("xx") .toFormatter(Locale.ROOT);
仅仅阅读Javadoc的摘要片段显然是不够的。如注释中所述,
ISO_ZONED_DATE_TIME
不严格要求区域id。第二个要点提到了它:“如果区域ID不可用或是区域偏移,那么格式就完整了”。
问题内容: 如何获取格式化为使用的日期? 如果我使用类似的格式 然后它显示 问题答案: 你可以得到区偏移格式一样用 的SimpleDateFormat 中 的Java 7 (),或与 乔达 的 DateTimeFormat ()。
如何从不包含zone和其他字段的字符串中解析ZoneDateTime? 以下是在斯波克进行的测试: 前两个测试通过,所有其他测试都通过了DateTimeParseException: '2014-04-23T04:30:45.123'无法在索引23处解析 '2014-04-23T04:30'无法在索引16处解析 '2014-04-23'无法在索引10处解析 如何解析时间和区域设置为默认的不完整日期
问题内容: 我需要下一个流程: nodejs utils api中有这种可能性吗? 问题答案: 您可以使用node-time,如下所示:
问题内容: 我需要以[+/-] hh:mm的格式保存手机的时区 我正在使用TimeZone类来处理此问题,但是我只能获得以下格式: 我宁愿不对结果进行子串化,是否可以设置任何键或选项标志来仅获取值,而不获取该时区的名称(GMT / CET / PST …)? 问题答案: 我需要以[+/-] hh:mm的格式保存手机的时区 不,你没有。仅靠偏移量是不够的,您需要存储整个时区名称/ id。例如,我住在
JSON-API-response包含以下属性: 我使用Moshi和ThreeTenBp解析时间戳,并准备了以下自定义适配器: 如您所见,区域偏移量在这里是硬编码的。 ... 使用Moshi和Kotlin的高级JSON解析技术 相关项目的进行中的分支
我使用的是“亚洲/曼谷”区域id。该偏移是从格林尼治时间UTC 07:00开始的。 但是当我做了下面的事情时,设置为“01/01/1900 7:00:00.000”时不是7:00 结果就是 周一一月一日07:00:00 ICT 1900 -402 周一一月一日06:00:00 ICT 1900 -420 我想知道偏移量是否在1900年1月1日早上7点左右发生了变化,所以我在维基百科上查了一下。ht