时间戳就是格林尼治的当前时间减去格林尼治时间1970年1月1日0时0分0秒的时间,以秒或者毫秒表示。因为北京时间总比格林尼治时间早8个小时,所以要根据时间戳计算北京时间,要在1970年1月1日0时0分0秒上加上时间戳后再加8个小时才是北京时间。
用北京时间减去1970年1月1日0时0分0秒当作时间戳是不对的。因为电脑上的北京时间其实不是真实的时间(或者说不是标准的时间),这个时间是在格林尼治时间的基础上加上8个小时后得到的。
其实世界上现在的真实时间是当前北京时间减去8个小时的时间,只有这个时间是准的。而在世界上1970年1月1日0时0分0秒那一刻,北京时间当时应该是1970年1月1日8时0分0秒,所以要以北京时间减去1970年的那一刻而获得时间戳的话,应该用当前北京时间减去1970年1月1日8时0分0秒。