1969年12月31日下午7点发生了什么

时间:2010-03-05 22:43:53

标签: php date history

每次在PHP中我制作一个变量如下:

$date = strtotime($row['date']);
$date = date("M d Y \a\\t g:i A", $date); // Mmm dd YYYY at h:mm PM/AM

以某种方式row['date']恰好为0,屏幕上显示日期Dec 31 1969 at 7:00 PM?谷歌并没有告诉我太多,我想知道这个日期是否有任何意义。

5 个答案:

答案 0 :(得分:44)

Unix纪元是1970年1月1日00:00:00 UTC的时间。这是所有时间戳的参考点。当您使用PHP的日期/时间函数时,您始终使用自纪元以来的秒数。时间0是时代,您(或您的网络服务器)必须位于美国东海岸,距离UTC时间晚5个小时。

答案 1 :(得分:20)

我觉得有趣的是,这里没有一个回应试图回答你的实际问题,这是(如果我可以解释)“Unix纪元时间的实际日期有什么意义”?

我不是这方面的专家,但基本上,据我所知,时代概念是在1971年发明的。程序员选择格林威治标准时间1971年1月1日的任意日期作为纪元时间。部分原因是旧计算机无法处理大量数据,所以日期必须在最近。之后,将纪元时间调整为1970年1月1日,以便成为一个不错的圆形数字。

所以基本上,那天没有“发生”。这是根据正在完成的工作的原始时间选择的任意日期。

答案 2 :(得分:6)

Unix timestamps的衡量标准为“Unix Epoch以来的时间”,即格林威治标准时间1969年12月31日午夜(1970年1月1日格林威治标准时间00:00)。由于您似乎是在东部标准时间(GMT-5),因此您将在1969年12月31日晚上7点获得unix时间戳值0。

答案 3 :(得分:4)

让我猜一下:你住在美国东海岸?

PHP与许多其他系统一样,使用Unix epoch来测量时间,即值0表示1970年1月1日午夜UTC - 这与1969年12月31日东部标准时间晚上7点相同

答案 4 :(得分:1)

存储日期对象的一种格式是从任意开始时间开始经过的时间(以秒为单位)。要求格式化版本“0”就像要求任意开始时间一样。我不记得为什么选择这个日期,但我确定维基百科确实如此。请参阅下面有关Unix时间的文章。

Read about Unix Time

相关问题