我正在使用代码将java Date对象转换为纪元:
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日的星期六。
答案 0 :(得分:5)
它使用 1月而非 4月。 1月26日确实是星期六。它给你错误的月份,因为你的日期格式是错误的:
yyyy-mm-dd HH:mm:ss.SSS
当您使用mm
时,您当月使用MM
。日期格式应为:
yyyy-MM-dd HH:mm:ss.SSS
您的格式没有在任何地方指定月份,因此可能只是默认为1月。
答案 1 :(得分:2)
月份格式错误,应该是yyyy-MM-dd
,因此它会默认为第一个月。