【发布时间】:2014-01-09 05:22:27
【问题描述】:
我在使用 mktime 时遇到了一个简单的问题。我找到以下代码:
echo date("Y-M-d", mktime(11, 45, 0, 01, 05, 2014)); echo ", ";
echo date("Y-M-d", mktime(11, 45, 0, 01, 06, 2014)); echo ", ";
echo date("Y-M-d", mktime(11, 45, 0, 01, 07, 2014)); echo ", ";
echo date("Y-M-d", mktime(11, 45, 0, 01, 08, 2014)); echo ", ";
echo date("Y-M-d", mktime(11, 45, 0, 01, 09, 2014)); echo ", ";
正在产生以下输出:
2014-Jan-05, 2014-Jan-06, 2014-Jan-07, 2013-Dec-31, 2013-Dec-31
日期函数只是为了使它更易读; mktime 本身返回的时间戳是错误的。 唯一变化的是一个月中的哪一天,所以我不知道为什么 7 和 8 之间的日子会不连续,或者为什么 8 和 9 会在同一天返回.
我已经检查过小时、分钟和秒不会改变错误日期的结果,尽管它们确实会改变确切的时间戳。也就是说,上面的最后两行返回完全相同的时间戳(1388508300),但如果我更改小时,时间戳的相对变化符合预期。
如果上下文很重要,这将在 WordPress 安装中以 PHP 5.3 运行。
【问题讨论】: