我的情况是总是落后一天。例如,我有这个-243219600
相对于日期18/04/1962
之后
date('d/m/Y', -243219600);
输出是:
17/04/1962
-243219600秒从 1970 年 1 月 1 日 00:00:00 UTC 在javascript中 你得到正确的日期。
我的情况是总是落后一天。例如,我有这个-243219600
相对于日期18/04/1962
之后
date('d/m/Y', -243219600);
输出是:
17/04/1962
-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
date()
如果要date()
使用UTC
,请使用date_default_timezone_set
:
date_default_timezone_set('UTC');
echo date('d/m/Y H:m:i T', -243219600);"
17/04/1962 23:04:00 UTC
(你看,因为它是 UTC 午夜前一小时,日期取决于时区)
DateTime
:如果DateTime
类由 Unix 时间戳构造,则始终使用 UTC:
从文档中:
笔记:
当参数是 UNIX 时间戳(例如@946684800)或指定时区(例如2010-01-28T15:00:00+02:00
$timezone
)时,将忽略参数和当前时区。$time
因此,您也可以使用以下代码:
echo (new DateTime('@-243219600'))->format('d/m/Y');
检查您的 PHP 的时区,将其设置为与您的计算机相同(因为您使用的是 javascript)。