我有从 1969 年 12 月 31 日 19:00:00 开始的秒数,即 (EST),我想将其转换为日期格式。
我有以下代码返回任何无效日期。谁能指出这里的问题所在。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class sample
{
public static void main(String args[])
{
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("EST"));
Date d1 = new Date(1000*1373604190); //Converting to millisecond
String formattedDate = df.format(d1);
System.out.println(formattedDate); //I'm getting 22/Dec/1969 16:50:55
}
}
我该如何解决。
最佳答案
您在数字中使用 int
文字而不是 long
。默认情况下,整型文字是 int
,除非您指定它是 long
,最后是 L。试试这个:
Date d1 = new Date(1000*1373604190L);
(注意文字 1373604190 末尾的 L)
关于Java 日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071621/