2013-04-26 99 views
1

我轉換的Java Date對象使用代碼時期:轉換的Java日期大紀元給出錯誤的結果

 String str = "" + date; 
     SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss.SSS"); 
     Date formateDate = df.parse(str); 
     long epoch = formateDate.getTime(); 
     return epoch; 

如果我測試這個值爲2013-04-26 08:34:55.705然後它給長期爲1359189295705這實際上是Sat, 26 Jan 2013 08:34:55 GMT但今天星期五爲什麼說它在2013年1月26日的星期六。

回答

5

它是使用一月不是四月。 1月26日確實是一個星期六。它給你錯誤的月份,因爲你的日期格式是錯誤的:

yyyy-mm-dd HH:mm:ss.SSS 

您使用mm月,當你應該使用MM。日期格式應該是:

yyyy-MM-dd HH:mm:ss.SSS 

您的格式沒有指定任何地方的月份,所以可能它只是默認爲一月。

+0

謝謝喬恩。這樣可行 :) – Makky 2013-04-26 07:59:32

2

月的格式是錯誤的,應該是yyyy-MM-dd,所以它默認爲你的第一個月。