任何人都可以向我解释这段代码中有什么问题:
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'").parse("2015-04-22T19:54:11.827Z"));
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'").parse("2015-04-22T19:54:11.0Z"));
Run Code Online (Sandbox Code Playgroud)
输出是:
Wed Apr 22 20:07:47 GMT+02:00 2015
Wed Apr 22 19:54:00 GMT+02:00 2015
Run Code Online (Sandbox Code Playgroud)
请注意输入时间中有毫秒的分钟差异.
对于SimpleDateFormat,毫秒格式值包含大写S字符,而不是小写s字符秒.
秒数第55号
S毫秒数978
它将解释827为秒,并将这些秒(847秒为13分47秒)添加到您的值.
使用SSS毫秒.
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
Run Code Online (Sandbox Code Playgroud)
另外,SimpleDateFormat如果它是相同的,你不需要多次重新创建.您可以创建一次,将其保存到变量,并parse为您要解析的每个日期/时间字符串多次调用一次.
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |