Java解析String to Date返回一个移位的Date

时间:2015-08-18 00:49:04

标签: java

当我想将字符串解析为日期时,我遇到了问题。

字符串看起来像 2010-11-04 00:03:50.209589 。但结果是 Thu Nov 04 00:07:19 CET 2010 其中分钟不正确。

String time_input = "2010-11-04 00:03:50.209589";
SimpleDateFormat  time_now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");

Date now = time_now.parse(time_input);

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您在格式字符串中使用SSSSSSS表示毫秒,因此格式化程序将209589解释为209,589毫秒(3分29秒和589毫秒)。将其添加到00:03:50,您最终会得到00:07:19

我认为没有办法在DateFormat中包含微秒精度;如果你有Java 8,你可以尝试使用JodaTime或java.time.format包中的类。