SimpleDateFormat格式错误的值

Fin*_*arr 2 java date-format

以下代码:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd");
System.out.println(sdf.format(new Date(1293253200))); // 12/25/2010 05:00 GMT
System.out.println(sdf.format(new Date(1293339600))); // 12/26/2010 05:00 GMT
System.out.println(sdf.format(new Date(1293426000))); // 12/27/2010 05:00 GMT
Run Code Online (Sandbox Code Playgroud)

打印:

01/16
01/16
01/16
Run Code Online (Sandbox Code Playgroud)

使用默认DateFormat通道将SimpleDateFormat.getDateInstance();这些日期打印为16-Jan-1970.到底是怎么回事?

mha*_*ler 8

你是混合毫秒和秒.1293253200确实是2010年1月16日.您必须乘以1000才能得到您想要的日期:

Date date = new Date(1293253200L*1000L);
Sat Dec 25 06:00:00 CET 2010
Run Code Online (Sandbox Code Playgroud)