为什么我没有得到相同的结果?

时间:2019-10-27 12:49:16

标签: php strtotime

我在不同的服务器上运行相同的代码,但没有得到相同的结果。 https://imgur.com/a/xUAhvNY

<?php
echo date('Y-m-d H:i:s', strtotime("+20 year"));
echo "<br>PHP version: ".phpversion();
?>

2 个答案:

答案 0 :(得分:0)

这与时区无关,但与时间戳存储为32位数字的系统上的limitation of the UNIX timestamp无关。左侧的服务器可能已受到此问题的影响。

strftime页上的注释:

  

时间戳的有效范围通常为1901年12月13日星期五20:45:54 UTC到2038年1月19日星期二03:14:07 UTC。 (这些是与32位带符号整数的最小值和最大值相对应的日期。)

     

[...]

     

对于64位版本的PHP,时间戳的有效范围实际上是无限的,因为64位可以表示任一方向的大约2930亿年。

答案 1 :(得分:-1)

在脚本的开头添加;

date_default_timezone_set('Europe/Amsterdam');