String Date Time to Java TimeStamp转换

时间:2012-11-28 08:24:19

标签: java datetime timestamp

我正在尝试将String转换为java时间戳。我使用以下代码

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy  HH:mm:ss:SSS");
Date parsedDate = dateFormat.parse(value);
Timestamp timestamp = new Timestamp(parsedDate.getTime());            
return timestamp;            

我的输入是输入::“10/01/2012 06:45:23:245946”

但我得错了输出:: 2012-10-01 06:49:28.946

此代码中的错误是什么?

3 个答案:

答案 0 :(得分:1)

10/01/2012 06:45:23:245946

这里你已经传递了245946毫秒,实际上已经转换为秒和分钟,它变为2012-10-01 06:49:28.946

245946 milliseconds = 245 seconds and 946 milliseconds 
245 seconds 946 milliseconds = 4 minutes, 5 seconds and 946 milliseconds

so 06:45:23+ 4 minutes 5 seconds and 946 milliseconds = 
06 hour 49 minutes 28 seconds 946 miliseconds

答案 1 :(得分:0)

这是正确的,所有这些额外的毫秒只是表示为打印出来的完整分钟和秒。您的输入包括245946毫秒,即4分5秒和946毫秒。所以你的输出显示为4分5秒后,有946个尾随毫秒。

答案 2 :(得分:0)

第1步:解析给定日期

步骤2:使用以下构造函数获取绝对时间戳

java.sql.Timestamp timestamp = new Timestamp((year-1900), (month-1), date, hour, min, sec,nano);