代码如下:
long current = System.currentTimeMillis();
long timeStamp = current / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset() - (1000 * 2 * 3600);
执行之后发现,如果把电脑时间调整到早8点之后,打印出来是正确的(昨天22点),而计算机时间为8点之前算出来是前天22点,误差24小时,这个是什么原因?
因为有时差,所以得到的日期会少一天,先加上8小时。