我正在尝试将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
此代码中的错误是什么?
答案 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);