PHP:如何知道日期是否在当前月份?

时间:2018-06-26 16:19:24

标签: php date

我需要知道日期是否在当前月份。

示例:

  • 如果日期是2018- 06 -30,而当前月份是6月(06),则 true

  • 如果日期为2018- 07 -30,并且当前月份为6月(06),则 false

我有一个包含1000多个日期的日期列表,我只想显示或着色属于当前月份的日期。

4 个答案:

答案 0 :(得分:5)

您可以全部完成一行。基本上将有问题的日期转换为PHP时间,并获得月份。

date('m',strtotime('2018-06-30' )) == date('m');

使用date()函数,如果仅输入格式,它将采用当前日期/时间。您可以传入time()对象的第二个可选变量来代替当前日期/时间。

答案 1 :(得分:1)

我希望这会有所帮助-

$date = "2018-07-31";

if(date("m", strtotime($date)) == date("m"))
{
    //if they are the same it will come here
}
else
{
    // they aren't the same
}

答案 2 :(得分:0)

PHP没有实现日期类型。如果您以日期/时间开头,并且您知道自己只处理一个时区,则表示您希望当前年份为当前月份

$testdate=strtotime('2018-06-31 12:00'); // this will be converted to 2018-07-01
if (date('Ym')==date('Ym', $testdate)) {
   // current month
} else {
   // not current month
}

答案 3 :(得分:0)

作为替代方案,您可以使用DateTime,对于格式,例如使用n来获取一个月的数字表示形式(不带前导零),并使用Y来获取完整的数字一年的数字表示形式,为4位数字。

$d = DateTime::createFromFormat('Y-m-d', '2018-06-30');
$today = new DateTime();
if($d->format('n') === $today->format('n') && $d->format('Y') === $today->format('Y')) {
    echo "Months match and year match";
}

Test