SimpleDateFormat解析时间和日期错误的分钟和秒
谁能告诉我这段代码有什么问题:
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"));
输出是:
Wed Apr 22 20:07:47 GMT+02:00 2015Wed Apr 22 19:54:00 GMT+02:00 2015
当输入时间以毫秒为单位时,请注意以分钟为单位的差异。
回答:
对于SimpleDateFormat
,毫秒格式的值包含大写S
字符,而不是s
秒的小写字符。
秒(秒)55
毫秒数978
它解释827
为秒,并将这些秒(847秒是13分钟47秒)添加到您的值中。
使用SSS
毫秒。
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
顺便说一句,如果相同,则无需SimpleDateFormat
多次创建。您可以创建一次,将其保存到变量中,然后parse
多次调用,对于您要解析的每个日期/时间字符串一次。
以上是 SimpleDateFormat解析时间和日期错误的分钟和秒 的全部内容, 来源链接: utcz.com/qa/406997.html