2013-04-26 97 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,所以它默认为你的第一个月。