我正在编写一个函数来将内部日期格式转换为时间戳值。但是,当我以 YYYY-MM-DD HH 格式打印日期时,日期为 12 小时。
下面的代码给了我错误的日期和时间。我期待 2011-03-25 13,但我得到的是 2011-03-25 01。
date_default_timezone_set("Europe/London");
$epoch = mktime(13,0,0,3,25,2011);
echo date('Y-m-d h', $epoch);
当我使用以下代码时,我期望 2001-02-01 01 并得到我期望的结果。
date_default_timezone_set("Europe/London");
$epoch = mktime(1,0,0,2,1,2011);
echo date('Y-m-d h', $epoch);
似乎 12 小时偏移从 3 月 25 日的第 13 小时开始。
知道为什么会发生这种情况以及如何防止它发生吗?这是否与不同的夏令时有关?服务器时区设置为“America/Los_Angeles”。