0

我有一个PHP函数的问题strtotime,我们尝试获取某个第二天+时间的日期。

我想要的是获得每个 next 的下一个日期+时间'monday 20:00H'。(我们使用 24 小时时间格式)

$next_moment = strtotime('this monday 20:00');

上面的代码正是我们想要的,但是如果它是例如 10 号星期一,在 20:00H 之后,它仍然说下一次发生是 10 号星期一 20:00。

我必须等到星期一 24:00H 之后,这与星期二 00:00H 相同。在那之后,结果再次正确并显示星期一 17 日 20:00H。

请帮助纠正这个问题。

4

3 回答 3

0

尝试这个:

$next_valid_date_time = strtotime('this Monday 20:00');

if(time() > $next_valid_date_time) {
    $next_valid_date_time = strtotime('Monday next week 20:00');
} 

echo date('Y-m-d H:i', $next_valid_date_time);
于 2013-05-28T09:57:32.873 回答
0

尝试这个:

$next_moment = strtotime('this Monday 20:00');

if(time() > $next_moment) {
    $next_moment = strtotime('Monday next week 20:00');
} 

echo date('c',$next_moment);
于 2013-05-28T10:01:23.903 回答
0

检查当前时间戳是否大于目标时间戳。

$next_moment = ( time() > strtotime( "Monday 20:00" ) ? strtotime( "next Monday 20:00" ) : strtotime( "Monday 20:00" ) );
echo ( date( 'Y-m-d H:i:s', $next_moment ) );

更改测试的日期和时间。

PHP 相对格式

于 2013-05-28T11:25:28.490 回答