基本上我試圖將字符串數據轉換爲Timestamp格式。當我將數據轉換爲時間戳格式時,SimpleDateFormat添加了三分鐘。 由於毫秒數據等於3分鐘,但我想保留時間戳值的毫秒數據。如何在java上保存milisecond數據simpledateFormat
代碼:
public Double TimestampTest(String Timestamp){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date parsedDate = null;
try {
parsedDate = dateFormat.parse(Timestamp);
} catch (ParseException e1) {
e1.printStackTrace();
}
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
...
}
Timestamp值
2002-04-17 23:45:58.983
對於測試用例
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse("2015-04-22T19:54:11.219983Z"));
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS'Z'").parse("2015-04-22 19:54:11.219983Z"));
結果是相同的爲兩者
Wed Apr 22 19:57:50 EEST 2015
Wed Apr 22 19:57:50 EEST 2015
因爲
219 983 milliseconds = 3.66638333 minutes
總之我想保留MS數據。是有沒有辦法做到這一點?
'SimpleDateFormat'具有毫秒精度 - 小數點後3位數。如果有3個以上,你會得到奇怪的結果:https://stackoverflow.com/q/36055717/7605325 - https://stackoverflow.com/q/44979279/7605325 –
[SimpleDateFormat可能重複的毫秒數不能超過4數字](https://stackoverflow.com/questions/36055717/simpledateformat-cannot-parse-milliseconds-with-more-than-4-digits) –