计算机系统的时间的计算机制

计算机系统里面的时间有两个,一个叫做系统时间,一个叫做本地时间。

什么是系统时间?

就是跟那个什么子午线的地方一致的时间,计算机如果运行正常的话,世界上所有的计算机的系统时间都应该是相同的。

但是问题来了,我们有一个时区的概念,虽然所有的计算机的系统时间相同,但是他们的本地时间不一样,

比如在那个子午线上的时间是1970-01-01 00:00:00的系统时间的时候,他的本地时间也是1970-01-01 00:00:00。

但是在这个时候的中国,处在东八区,它的本地时间比那个时间快八个小时,也就是1970-01-01 08:00:00。

注意这只是本地时间不一致,这时候在中国的计算机的系统时间,仍然是1970-01-01 00:00:00。

Date.getTime()可以得到得到1970年01月1日0点零分以来的毫秒数 -- 基于系统时间。

public static String getTimestamp_1970() throws Exception {
  java.text.SimpleDateFormat formater = new SimpleDateFormat(
  "yyyy-MM-dd HH:mm:ss");
  java.util.Date   date=   formater.parse("1970-01-01 00:00:00");   
  return Long.toString(date.getTime());
 }

返回 -28800000 【 ("1970-01-01 00:00:00") -- 在中国的计算机的本地时间

public static String getTimestamp_1970() throws Exception {
  java.text.SimpleDateFormat formater = new SimpleDateFormat(
  "yyyy-MM-dd HH:mm:ss");
  java.util.Date   date=   formater.parse("1970-01-01 08:00:00");   
  return Long.toString(date.getTime());
 }

返回 0 【 ("1970-01-01 08:00:00") -- 在中国的计算机的本地时间

原文地址:https://www.cnblogs.com/shangdawei/p/4509807.html