2

我想将我的纪元值批量转换为人类可读的日期和时间值。取值 1342179766,我在epoch-converter上将其转换并得到 Fri, 13 Jul 2012 11:42:46 GMT 作为我知道是正确的答案。现在我使用他们网站上提供的 java 代码将其转换为日期和时间格式,但我得到了错误的答案。代码:

String date = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new java.util.Date (1342179766*1000));
System.out.println(date);

输出:

12/07/1969 09:40:02

我查看了有关 stackoverflow 的其他问题,但大多数情况下此代码随处可见。我发现了 2-3 个其他代码,但它们都给了我相同的输出。

4

2 回答 2

4

我想你应该使用1342179766L*1000L而不是1342179766*1000.

于 2012-07-16T15:17:40.573 回答
4

您的问题来自于 Java 正在尝试进行整数乘法1342179766*1000然后将转换为 long 的事实。如果您明确地将其设为 long,则它可以工作:

String date = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new java.util.Date (1342179766L*1000));
System.out.println(date);
于 2012-07-16T15:18:09.517 回答