我正在使用代码将 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
测试它然后它给出 Long as 1359189295705
这实际上是 Sat, 26 Jan 2013格林威治标准时间 08:34:55
但今天是星期五,为什么说是 2013 年 1 月 26 日星期六。
最佳答案
它使用的是 January 而不是 April。 1 月 26 日确实是星期六。它给了你错误的月份,因为你的日期格式是错误的:
yyyy-mm-dd HH:mm:ss.SSS
当您应该使用 MM
时,您正在为这个月使用 mm
。日期格式应为:
yyyy-MM-dd HH:mm:ss.SSS
您的格式没有在任何地方指定月份,所以大概它只是默认为一月。
关于java - 将 Java Date 转换为 Epoch 给出了错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231377/