UNIX时间戳(timestamp)

一个看似简单的问题,由于之前没有正确理解,导致思维混论。
看似是一个概念,实际上UNIX时间和时间戳是两个概念,在维基百科也是分开介绍的。
首先时间戳,戳就是打个标记,时间戳就是打个时间标记,而因为时区不同,普通的时间表示法都是表达本地时间,在全球可能有不同的理解,所以时间戳是一个协调世界时(UTC)时间,https://zh.wikipedia.org/zh-cn/時間戳
UNIX时间是指从协调世界时1970年1月1日0时0分0秒起至现在的总秒数,不考虑闰秒。https://zh.wikipedia.org/wiki/UNIX时间
这里面有两个概念,一个是1970年算起的总秒数,是一个数字,换言之就是一个数字表示时间的方法,还有就是从协调世界时(UTC)算,这里面和时间戳的意义是一样的,也就是说UNIX时间天生就是一个时间戳。也难怪大家把他们混合在一起叫UNIX时间戳,那么反过来时间戳是不是一定是UNIX时间戳呢?大家看维基百科上对时间戳的表示的几个例子就明白了,答案是否定的,事实上,在mysql数据库里时间戳就是YYYY-MM-DD HH:ii:ss这样的格式。
所以呢,下次往数据库里面存时间的时候,如果是北京时间,就和北京时间一致,如果是时间戳呢,就别用伪时间戳了。

原文地址:https://www.cnblogs.com/webkb/p/5026563.html