PHP〜检查日期是否在下一个(正确的)周内发生

时间:2018-11-24 17:13:40

标签: php date time compare

我已经搜索了这个,并且我有一个解决方案,可以获取下周的星期一和星期五的日期(仅查找工作周),然后检查我的日期是否在该范围内。可以。

<?php
$check_count = 0 ;
$check_date = 20181127 ;

if ( $check_date >= date ( 'Ymd' , strtotime ( 'monday next week' ) ) && 
    $check_date <= date ( 'Ymd' , strtotime ( 'friday next week' ) ) ) {

    // DATE IS NEXT WEEK
    echo 'Next week!' ;
    $check_count++ ;

}
?>

但是我想知道是否有一种类型的代码,它可以带一个日期('Ymd'),看看它是否发生在“下周”。

任何帮助将不胜感激。

谢谢, furi0usBee

1 个答案:

答案 0 :(得分:0)

嗨furi0usBee,欢迎来到stackoverflow,

您可以通过使用date_format函数来检查星期数('W')和ISO星期几('N')来稍微缩短if语句。

要使用date_format函数,必须从Ymd日期创建一个DateTime对象:

<?php
$check_count = 0 ;
$check_date = 20181127 ;

$objDate = new DateTime($check_date);

if ( date('W', strtotime('monday next week')) == date_format($objDate, 'W') 
     && date_format($objDate, 'N') < 6  ) {

    // DATE IS NEXT WEEK
    echo 'Next week!' ;
    $check_count++ ;
} 
?>

此代码看起来更简洁。