【问题标题】:Java parsing String to Date returns a shifted Date [duplicate]Java将字符串解析为日期返回一个移位的日期[重复]
【发布时间】:2015-08-18 00:49:03
【问题描述】:

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

字符串看起来像这样 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);

提前感谢您的帮助。

【问题讨论】:

标签: java


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答。为了使用 sss 格式,我已经从字符串中删除了最后 3 个字符,并且它工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 2013-06-05
  • 2018-08-16
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多