首页 > 解决方案 > Java中的字符串到时间戳转换差异错误

问题描述

我有以下值:2018-01-16-18.56.57.300000

它被传递给方法参数:“值”。

private Timestamp getPossibleTimestampI(String value) {

   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh.mm.ss.SSS");
    Date parsedDate;
    Timestamp timestamp=null; 
    try {
        parsedDate = dateFormat.parse(value);
        timestamp = new java.sql.Timestamp(parsedDate.getTime());
    } catch (ParseException e1) {
        e1.printStackTrace();
    }

return timestamp;
}

我得到一个值为 2018-01-16 19:01:57.0 的 Timestamp 对象,与原始字符串值相比大约多 5 分钟。

为什么会发生这种情况,我该如何纠正我的转换?

标签: javastringtimestampdate-conversionsql-timestamp

解决方案


在时间 2018-01-16-18.56.57.300000,您的 300000 毫秒正在转换为分钟

which is 300000/60000 = 5 minutes

推荐阅读