PHP - 时间和文件时间问题


PHP - time and filemtime issue

我试图在PHP中获取当前时间和filemtime之间的差异。

时间和文件似乎返回正确的值,因为当应用于日期函数时,这些值会打印正确的日期。根据日期函数,time() 函数和 filemtime 之间的差异为 1 小时。但是,当我尝试获取返回的时间戳值之间的差异时,差异为 215。例如,见下文:

当前时间 = 1339599628,date() 函数显示 13-06-2012 16:06:28 00文件修改时间 = 1339599413,date() 函数显示 13-06-2012 15:06:30 30

这似乎是正确的,但我看不出如何检查这些日期之间的秒差,因为 1 小时有 3600 秒,但差异只有 215。

另外,我尝试了以下时间戳值:1339599599 = 13-06-2012 15:06:59 591339599600 = 13-06-2012 16:06:00 00

因此,第一个时间戳值增加了 1,但日期给出了 1 小时的差异。

有什么想法吗?

您似乎有时区差异问题。尝试查看 gmdate 函数。

或者更好的是,在获取这些时间戳之前,请调用 date_default_timezone_set('UTC')

我遇到了同样的问题,在我的情况下,time() 和 filemtime() 之间的时间差是 51 秒。我不知道是什么原因造成的,但我确实找到了解决方法。创建文件时,我使用 touch($file, time()) .现在,创建文件的创建时间与 time() "同步"设置。

我真的不明白你的问题...Time 和 FileMtime 都返回时间戳。

最大一个 - 最小一个 = 以秒为单位的差异。不应该再有别的了。

我最近遇到了同样的问题,在检查系统端后,我发现系统时间和显示上次修改时间的 stat 命令提供的时间之间存在差异。

-bash$ date;touch test;stat test;date
Sat Aug 22 08:06:35 BRT 2015
  File: `test'
  Size: 0               Blocks: 1          IO Block: 32768  regular empty file
Device: 13h/19d Inode: 25189989    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (/)   Gid: (/)
Access: 2015-08-22 08:07:29.968227010 -0300
Modify: 2015-08-22 08:07:29.968227064 -0300
Change: 2015-08-22 08:07:29.968238305 -0300
Sat Aug 22 08:06:35 BRT 2015

在我的情况下,差异是 53 秒。

我测试的其他机器没有显示出这种差异。

在主机上进行测试。