Mar*_*tus 3 java timezone date epoch
代码如下:
import java.sql.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class FooMain {
    private static final DateFormat DF = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
    public static void main(String args[]) {
        System.out.println(DF.format(new Date(0)));
    }
}
Run Code Online (Sandbox Code Playgroud)
打印出来:
1970-01-01T01:00Z
Run Code Online (Sandbox Code Playgroud)
难道1970-01-01T00:00Z不是吗?我知道Unix Epoch时间总是毫不含糊,我们不必担心时区,但这是我的时区,如果它很重要:
$ cat /etc/timezone 
Europe/Madrid    
Run Code Online (Sandbox Code Playgroud)
    new Date(0) 确实对应于January 1, 1970, 00:00:00 GMT.问题是,默认情况下,DateFormat会在系统时区中打印日期.将格式化程序的时区设置为GMT:
DF.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(DF.format(new Date(0))); // outputs: 1970-01-01T00:00Z
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3590 次  |  
        
|   最近记录:  |