相关疑难解决方法(0)

为什么`GMT + 8`无法用模式`O`解析,尽管直接从doc中复制?

为什么以下命令无法运行,日期时间字符串无法解析为OffsetDateTime

String inputOdt = "2016-01-23T12:34:56 GMT+8";
DateTimeFormatter formatterOdt = DateTimeFormatter.ofPattern ( "yyyy-MM-dd'T'HH:mm:ss O" );
OffsetDateTime odt = OffsetDateTime.parse ( inputOdt , formatterOdt );
Run Code Online (Sandbox Code Playgroud)

使用Java(TM) SE Runtime Environment (build 1.8.0_92-b14)Mac OS X上埃尔卡皮坦10.11.4.

生成错误:

线程"main"中的异常java.time.format.DateTimeParseException:无法解析文本'2016-01-23T12:34:56 GMT + 8':字符串索引超出范围:25

所述偏移从-UTCGMT+8从类文件在例如复制粘贴DateTimeFormatter.报价:

偏移O:根据模式字母的数量格式化本地化偏移.一个字母输出本地化偏移的缩写形式,即局部偏移文本,例如'GMT',小时不带前导零,可选2位数分钟,第二个非零,和冒号,例如'GMT + 8 ".


字符串的其余部分成功解析为LocalDateTime.所以问题似乎确实是从UTC部分偏移.

String inputLdt = "2016-01-23T12:34:56";
DateTimeFormatter formatterLdt = DateTimeFormatter.ofPattern ( "yyyy-MM-dd'T'HH:mm:ss" );
LocalDateTime ldt = LocalDateTime.parse ( inputLdt , formatterLdt );

System.out.println ( "" );
System.out.println ( …
Run Code Online (Sandbox Code Playgroud)

java datetime java-time

10
推荐指数
1
解决办法
501
查看次数

标签 统计

datetime ×1

java ×1

java-time ×1