【发布时间】:2010-02-01 11:55:52
【问题描述】:
使用 PHP 的 time() 函数的时间戳,我用 date() 向用户显示当前时间。
格式:H:i => 13:57
但有时似乎有时间飞跃。当我访问该页面时,我的 Windows 时钟显示为 13:40。但我的网站说 14:XX。我已经不知道确切的时间了。
另一个示例:用户访问了“谁在线?”页面。 00:16。列出了一个用户,他最后一次操作的时间是 00:39。每次页面加载时,最后一次操作时间都会写入数据库。所以 time() 函数必须在 00:39 时返回 00:39,并且必须将错误的值写入数据库。
怎么会这样?
非常感谢您的帮助:)
编辑 #1 我已将代码缩减为对这个问题很重要的部分:
我在 serverData.php 中使用 $tStamp = time() 将时间戳保存到一个新变量中,并且该文件包含在 index.php 中,我在其中使用 date('d.m.Y, H:i', $t邮票)。变量 $tStamp 在任何其他行中都没有更改。
编辑 #2 我网站上的用户注意到 2010 年 1 月 21 日 00:16 的时间错误,页面在很短的时间内显示为 00:39。我查看了日志文件,大约在这个时候,日志文件中缺少一个完整的小时:
127.0.0.1 - - [2010 年 1 月 20 日:23:34:53 +0100] ...
127.0.0.1 - - [20/Jan/2010:23:34:55 +0100] ...
127.0.0.1 - - [21/Jan/2010:00:38:41 +0100] ...
127.0.0.1 - - [21/Jan/2010:00:38:41 +0100] ...
我的宿主宣布了 2010-01-20 00:00-06:00 的维护工作。你认为维护被推迟了吗?难不成是在这个时间段的第二天就进行了维护工作?这样的工作会不会弄错时间?
Edit #3 最后,我得到了房东的答复 :) 在给定的时间段内,服务器崩溃了。正因为如此,手表/时钟停止了。就这么简单,但我没想到服务器崩溃。非常感谢大家!
【问题讨论】: