strtotime('midnight')导致00:05:00

Dav*_*ddy 1 php strtotime

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

print_r(strtotime('midnight'));
Run Code Online (Sandbox Code Playgroud)

结果:

stdClass Object(
    [Sunday] => stdClass Object
        (
            [datetime] => stdClass Object
                (
                    [mdnt] => 2014-05-22 00:05:00
Run Code Online (Sandbox Code Playgroud)

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

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

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

Bra*_*ldt 5

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

date('Y-m-d H:i:s', strtotime('midnight'));
Run Code Online (Sandbox Code Playgroud)

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

date('Y-m-d H:m:s', strtotime('midnight'));
--------------^
Run Code Online (Sandbox Code Playgroud)

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

例

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

var_dump(date('Y-m-d H:i:s', $midnight));
Run Code Online (Sandbox Code Playgroud)

返回:

string(19) "2014-05-22 00:00:00"
Run Code Online (Sandbox Code Playgroud)