如果我在 PHP 中运行以下命令:
回声 mktime(0,0,0,1,1,1970);
返回值为-3600,而不是我预期的0。
该服务器位于英国,目前是 9 月 21 日(即 BST 夏令时)(尽管我不希望这会影响纪元时间戳)并且根据 php.info:“默认时区欧洲/伦敦”。
设置夏令时标志,如下所示:
回声 mktime(0,0,0,1,1,1970,0); (即正确的 DST 标志,0 表示 1 月 1 日不是 DST/BST)返回 -3600
回声 mktime(0,0,0,1,1,1970,1); (不正确的标志 - 将 1 月 1 日设置为 DST)返回 -7200
回声 mktime(0,0,0,1,1,1970,-1); (即未设置 DST 标志 - 由 PHP 决定)返回 -3600
有谁知道为什么时代会返回为-3600,而不是0,好吗?