Ala*_*ine 3 javascript php date php-5.6
我的情况是总是让日期落后一天。例如,我有这个-243219600相对于日期18/04/1962 的值
之后
date('d/m/Y', -243219600);
Run Code Online (Sandbox Code Playgroud)
输出是:
17/04/1962
Run Code Online (Sandbox Code Playgroud)
-243219600秒从 1970 年 1 月 1 日 00:00:00 UTC 在javascript在 这里你得到正确的日期。
的输出date()取决于配置的时区。如果加上时间和时区,就可以看到了。就我而言,它是 CET:
echo date('d/m/Y H:m:i T', -243219600);
//prints: 18/04/1962 00:04:00 CET
Run Code Online (Sandbox Code Playgroud)
date()如果要date()使用UTC,请使用date_default_timezone_set:
date_default_timezone_set('UTC');
echo date('d/m/Y H:m:i T', -243219600);"
Run Code Online (Sandbox Code Playgroud)
17/04/1962 23:04:00 UTC
Run Code Online (Sandbox Code Playgroud)
(你看,因为它是 UTC 午夜前一小时,日期取决于时区)
DateTime:如果DateTime类是由 Unix 时间戳构造的,则该类始终使用 UTC:
从文档:
笔记:
$timezone当$time参数是 UNIX 时间戳(例如@946684800)或指定时区(例如2010-01-28T15:00:00+02:00)时,将忽略该参数和当前时区。
因此,您也可以使用以下代码:
echo (new DateTime('@-243219600'))->format('d/m/Y');
Run Code Online (Sandbox Code Playgroud)