Pra*_*kar 5 java sql android date
我正在尝试将UTC格式的字符串格式转换为日期对象,这会导致转换关闭几分钟.
SimpleDateFormat fullDateFormater = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS", Locale.US);
fullDateFormater.setTimeZone(TimeZone.getTimeZone("UTC"));
Run Code Online (Sandbox Code Playgroud)
在解析日期字符串之前 - 2014-07-07T18:24:23.788810
解析日期之后是 Tue Jul 08 00:07:31 GMT+05:30 2014
正确的日期转换是 Tue Jul 07 23:54:23 GMT+05:30 2014
转换时间差异大约为12-13分钟.我观察到转换中10分钟的范围存在差异.
什么出了什么问题?
Jon*_*eet 13
SSSSSS 正如您所料,正在解析数毫秒 - 而不是微秒.
788810毫秒是13分8秒和810毫秒.所以你的结果实际上是2014-07-07T18:27:31.810.
是的,这是一个非常愚蠢的API设计.它将使很多更有意义S...S的意思,而不是"毫秒","几分之一秒内" -但它从大约预Java的8日期/时间API的最糟糕的事情远远:(
我不认为有一种方法来解析与微秒SimpleDateFormat- Java的时间精度的API预Java的8毫秒是无论如何-所以我认为你只需要砍掉后三位与substring使用解析它SSS在格式字符串的结尾.
如果您使用的是Java 8,我强烈建议您接受java.time,我相信这可以解决这个问题.(我没有看过它的解析API,但我相信它会好的.)
| 归档时间: |
|
| 查看次数: |
1010 次 |
| 最近记录: |