获取strtotime以在给定时间找到下一个时间戳

时间:2013-11-26 20:48:40

标签: php timestamp strtotime

我正在努力让strtotime给我一个时间戳,但我只知道它是一小时一分钟,而且它是下一行。 Fx的。

如果给定的小时和分钟是01:00(AM),我要求它返回01:00(AM)的时间戳,如果是前一天的19:00,我希望它返回时间戳第二天01:00,但如果是在00:30午夜之后,它应该在同一天返回时间戳01:00。

为了简化它,它是NEXT出现的时间。

Strtotime在同一天给我时间,如果不是下一次出现。

1 个答案:

答案 0 :(得分:4)

您可以轻松生成时间戳,查看它是否已经过去,然后增加一天。

或许这样的事情?

$timestamp = strtotime("1:00 am");
if($timestamp < time()) {
    $timestamp = strtotime("+1 day",$timestamp);
}

或者如果你想把它收紧到单行:

$string = "1:00 am";
$timestamp = (strtotime($string) > time()) ? strtotime($string) : strtotime("tomorrow " . $string);