嗨,我遇到了一些PHP date()函数的奇怪行为.我试图在这样的时间增加一周的日期.
码:
<?php
date_default_timezone_set('Europe/London');
echo 7*24*60*60;
echo '<br>';
echo date('d/m/Y H:i:s', 0);
echo '<br>';
echo date('d/m/Y H:i:s', 604800);
?>
Run Code Online (Sandbox Code Playgroud)
这导致以下输出.
OUTPUT:
604800
01/01/1970 01:00:00
08/01/1970 01:00:00
Run Code Online (Sandbox Code Playgroud)
这是你所期望的,日期增加了7天到第二天.但是在我达到一定的秒数之后,日期功能似乎从日期开始减少了一个小时.
码:
<?php
date_default_timezone_set('Europe/London');
echo (1351468800 - 1350864000);
echo '<br>';
echo date('d/m/Y H:i:s', 1350864000);
echo '<br>';
echo date('d/m/Y H:i:s', 1351468800);
?>
Run Code Online (Sandbox Code Playgroud)
结果如下输出
OUTPUT:
604800
22/10/2012 01:00:00
29/10/2012 00:00:00
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,即使两个日期之间的差异为604800秒,日期也会丢失一个小时.我在两个不同的服务器上测试了这个,我也使用DateTime对象测试了类似的代码,但结果仍然相同.我哪里错了?
| 归档时间: |
|
| 查看次数: |
309 次 |
| 最近记录: |