public static void main(String[] args) {
// -28800000 = - 8*3600 * 1000
System.out.println(new Date("1970/01/01 00:00:00").getTime());
}
为什么是负值?东八区按理应该是正 28800000吧
public long getTime(CalendarDate var1) {
long var2 = this.getFixedDate(var1);
long var4 = (var2 - 719163L) * 86400000L + this.getTimeOfDay(var1);
int var6 = 0;
TimeZone var7 = var1.getZone();
if (var7 != null) {
if (var1.isNormalized()) {
return var4 - (long)var1.getZoneOffset();
}
int[] var8 = new int[2];
if (var1.isStandardTime()) {
if (var7 instanceof ZoneInfo) {
((ZoneInfo)var7).getOffsetsByStandard(var4, var8);
var6 = var8[0];
} else {
var6 = var7.getOffset(var4 - (long)var7.getRawOffset());
}
} else if (var7 instanceof ZoneInfo) {
//28800000
var6 = ((ZoneInfo)var7).getOffsetsByWall(var4, var8);
} else {
var6 = var7.getOffset(var4 - (long)var7.getRawOffset());
}
}
// 这里直接取负值是?
var4 -= (long)var6;
this.getCalendarDate(var4, var1);
return var4;
}