strtotime('午夜')导致00:05:00

时间:2014-05-22 17:55:42

标签: php strtotime

我目前正在根据地点开启/关闭时间制作日期/时间选择器。迭代一周中的每一天,每个小时开始于一周中每天午夜的时间戳。以下逻辑导致5分钟的添加

print_r(strtotime('midnight'));

结果:

stdClass Object(
    [Sunday] => stdClass Object
        (
            [datetime] => stdClass Object
                (
                    [mdnt] => 2014-05-22 00:05:00

每周的每一天都要重复冲洗。

我的TZ是+5 GMT。如果有什么我期望的小时位置增加,而不是秒。

所以问题是:5:00分钟从哪里来?

1 个答案:

答案 0 :(得分:5)

您发布的代码有效。 strtotime按预期工作。您正在格式化日期错误。试试这个:

date('Y-m-d H:i:s', strtotime('midnight'));

而不是你拥有的。你几乎肯定用过这个:

date('Y-m-d H:m:s', strtotime('midnight'));
--------------^

而是打印分钟字段的月份。

实施例

<?php
$midnight = strtotime('midnight');

var_dump(date('Y-m-d H:i:s', $midnight));

返回:

string(19) "2014-05-22 00:00:00"