繁体   English   中英

PHP - 时间和文件时间问题

[英]PHP - time and filemtime issue

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

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

当前时间= 1339599628,日期()功能显示13-06-2012 16:06:28 00文件修改时间= 1339599413,日期()功能显示13-06-2012 15:06:30 30

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

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

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

有任何想法吗?

你似乎有时区差异的问题。 试着看看gmdate函数。

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

我有同样的问题,在我的情况下,time()和filemtime()之间的时差是51秒。 我不知道是什么导致这种情况,但我确实找到了解决方法。 创建touch($file, time())我使用touch($file, time()) 现在,创建文件的创建时间与time()设置为“同步”。

我真的不明白你的问题......时间和文件时间都会返回时间戳。

largestOne - smallestOne = diff,以秒为单位。 它应该没有更多的东西。

我最近遇到了同样的问题,在检查系统端之后,我发现系统时间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秒。

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

在主机上测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM