使用默认时区即东八区:
int ONE_SECOND = 1000;
int ONE_MINUTE = 60*ONE_SECOND;
int ONE_HOUR = 60*ONE_MINUTE;
long ONE_DAY = 24*ONE_HOUR;
long ONE_WEEK = 7*ONE_DAY;
println("one week: " + ONE_WEEK);
println("one day: " + ONE_DAY);
GregorianCalendar calendar = new GregorianCalendar(1970,0,1);
long timestamp = calendar.getTimeInMillis();
println("timestamp: " + timestamp);
println("minute: " + timestamp/ONE_MINUTE);
timestamp为根据构造方法传入的时间和使用的时区,首先把时间转换为零时区(即英国格林尼治天文台旧址)的时间后,再转化为相对于1970,1月1日00:00:00的毫秒数。
所以如果不设置时区TimeZone,则上述代码得出的不是0,而是-28800000,即-8小时。因为东八区比零时区晚了8小时。再