我有一個文本文件中的字符串這樣的日子進行的注日期:String string = 2014-10-03 00:58:59.765
所以我分析這種方式:解析字符串與SimpleDateFormat的,毫秒改變
Date timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
.parse(string);
然而,一些時間戳較少在毫秒上超過3位,並且我得到一個ParseException,試圖對它們使用相同的SimpleDateFormat。編輯:它發生在幾個毫秒000例如:java.text.ParseException: Unparseable date: "2014-10-03 00:59:49"
這是在我的工作:
if (string.length() == 23) {
timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
.parse(string);
} else if (string.length() == 22) {
timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS")
.parse(string);
} else if string.length() == 21) {
timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS")
.parse(string);
} else if (string.length() == 19) {
timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.parse(string);
}
是不是有更好的辦法來做到這一點?
2014-10-03 00:58:59.7 2014-10-03 00:58:59.71 2014-10-03 00:58:59.716應該用yyyy-MM-dd HH:mm:ss.SSS 。你能粘貼你的字符串與你解析異常? – SMA 2014-10-22 11:35:51
是的,它在這種情況下毫秒爲000:java.text.ParseException:Unparseable date:「2014-10-03 00:59:49」 – George 2014-10-22 11:37:18