Jac*_*cob 35 java datetime parsing exception simpledateformat
我很感激找到这个例外的bug的任何帮助:
java.text.ParseException: Unparseable date: "2007-09-25T15:40:51.0000000Z"
Run Code Online (Sandbox Code Playgroud)
以下代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = sdf.parse(timeValue);
long mills = date.getTime();
this.point.time = String.valueOf(mills);
Run Code Online (Sandbox Code Playgroud)
它抛出了暴力Date date = sdf.parse(timeValue);
.
timeValue = "2007-09-25T15:40:51.0000000Z";
,例如.
谢谢.
Rei*_*eus 72
Z
表示时区字符.它需要引用:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Run Code Online (Sandbox Code Playgroud)
在Java 7 中,您还可以使用该X
模式来匹配 ISO8601 时区,其中包括特殊Z
(UTC) 值:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSX");
Date date = sdf.parse("2007-09-25T15:40:51.0000000Z");
Run Code Online (Sandbox Code Playgroud)
但是,它似乎需要模式中精确数量的毫秒字符,这对于 'Z' 字符模式不是必需的,而且相当不方便。我认为这是因为 ISO8601 定义还包括“两位数小时”,它们只是数字,因此解析器无法将其与前面的毫秒区分开来。
因此,此版本适用于低至秒精度的时间戳,而不适用于毫秒。
归档时间: |
|
查看次数: |
64170 次 |
最近记录: |