PHP-时间和filemtime问题

PHP-时间和filemtime问题,php,Php,我试图在PHP中获得当前时间和filemtime之间的差异 time和filemtime似乎返回正确的值,因为当应用于date函数时,这些值打印正确的日期。time()函数和filemtime之间的差异根据日期函数为1小时。但是,当我试图获取返回的时间戳值之间的差异时,差异是215。例如,请参见以下内容: 当前时间=1339599628,date()函数显示13-06-2012 16:06:28 00 文件modif time=1339599413,date()函数显示13-06-2012 15

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

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

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

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

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

因此,第一个时间戳值增加了1,但日期相差1小时


有什么想法吗?

我不太明白你的问题。。。 time和filemtime都返回时间戳

biggestOne-smallestOne=以秒为单位的差异。
不应该再有什么了。

我真的不明白你的问题。。。 time和filemtime都返回时间戳

biggestOne-smallestOne=以秒为单位的差异。
不应该再有什么了。

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


或者更好的方法是,在获得这些时间戳之前,调用
date\u default\u timezone\u set('UTC')

您似乎遇到了时区差异问题。试着看看函数


或者更好,在获得这些时间戳之前,调用
date\u default\u timezone\u set('UTC')

我也遇到了同样的问题,在我的例子中,time()和filemtime()之间的时差是51秒。我不知道这是什么原因,但我确实找到了解决办法。创建文件时,我使用
touch($file,time())
。现在,所创建文件的创建时间设置为与time()同步。

我也有同样的问题,在我的例子中,time()和filemtime()之间的时间差是51秒。我不知道这是什么原因,但我确实找到了解决办法。创建文件时,我使用
touch($file,time())
。现在,已创建文件的创建时间设置为与time()同步。

我最近遇到了相同的问题,在检查系统端后,我发现系统时间与显示上次修改时间的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秒

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


在主机上测试。

我最近遇到了相同的问题,在检查系统端后,我发现系统时间与显示上次修改时间的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秒

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



在主机上进行测试。

计算中的顺序都无关紧要,只不过是
$difference=abs($timeStamp1-$timeStamp2)只要使用abs,这并不重要:)关键是要知道真正的问题是什么……问题似乎在返回的值中。time()和filemtime()之间的差异是215。但当应用到数据函数时,这些值会产生1小时的差异。这段代码在mi端非常有效。但是,以下内容不起作用:回显日期('d-m-Y H:m:si',133959999)。
//2012年6月13日15:06:59 59回音日期('d-m-Y H:m:SI',1339599600)。'//13-06-2012 16:06:00在计算中,你把它们放在什么顺序都无关紧要——它只是
$difference=abs($timeStamp1-$timeStamp2)只要使用abs,这并不重要:)关键是要知道真正的问题是什么……问题似乎在返回的值中。time()和filemtime()之间的差异是215。但当应用到数据函数时,这些值会产生1小时的差异。这段代码在mi端非常有效。但是,以下内容不起作用:回显日期('d-m-Y H:m:si',133959999)。
//2012年6月13日15:06:59 59回音日期('d-m-Y H:m:SI',1339599600)。'//13-06-2012 16:06:00谢谢,但这没用。例如,试试这个:echo date('d-m-Y H:m:si',133959999)。
//2012年6月13日15:06:59 59回音日期('d-m-Y H:m:SI',1339599600)。'//2012年6月13日16:06:00当我将第一个timespamt增加1时,日期为+1小时。我也试过这个:$time=mktime(15,30,30,6,13,12);回音日期('d-m-Y H:m:SI',$time);i应该是13-06-2012 15:30:30,但它给出了:13-06-2012 15:06:30。@Andrei在调用
time()
filemtime()
获取这些戳记之前,您是否尝试过重置时区?你应该得到不同的数字。如果您的
mktime()
-
gmmktime()
也会给您不同的结果。是的,我尝试重置,但仍然相同。我想做的是删除所有在过去25分钟内未访问的文件。我使用time()函数获取当前时间戳,使用filemtime()获取文件mod time。据我所知,下面的代码应该执行以下操作:if($fileModTime-$currentTime>25*60)取消链接($file);但这不起作用。@Andrei您正在运行什么配置?这可能是相关的。它在Win7上工作,但我在linux上试过了,没有工作。配置:Apache2.2.22,PHP5.3.10,体系结构:x86_64。谢谢,但这没有帮助。例如,试试这个:echo date('d-m-Y H:m:si',133959999)。
//2012年6月13日15:06:59 59回音日期('d-m-Y H:m:SI',1339599600)。'//2012年6月13日16:06:00当我将第一个timespamt增加1时,日期I