【发布时间】:2026-02-02 17:10:01
【问题描述】:
当我使用此代码解析日期字符串时,时间解析不正确。此代码打印Wed Feb 14 15:06:06 EST 2018。我应该使用什么日期格式来解析这个输入?
String input = "2018-02-14 14:57:59.487927";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
System.out.println(formatter.parse(input));
【问题讨论】:
-
您的日期显示数百万毫秒,因此时间会添加到解析的内容中。如果您截断最后 3 位数字,您将得到一个与您想要的结果更相似的日期。
-
我不使用 java,但快速谷歌显示this SO 答案显示格式为
yyyy-MM-dd HH:mm:ss.SSS。这听起来与 Mena 提到的相似。 -
@Marie 不是真的,这个问题仍然是毫秒,这里我们处理的是微秒
-
@Mena 我可以指定格式以便解析数百万毫秒吗?我认为这会起作用,但它给出了相同的结果
"yyyy-MM-dd HH:mm:ss.SSSSSS" -
@Mena Gotcha,nvm!
标签: java