[英]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.