PHP获取当月后的当前年份

时间:2016-11-24 20:19:28

标签: php date

我正在使用此代码获取当前年份

echo date("Y");

我还有一个月份名称的变量

$month= "November"

现在已经是十一月了,我的2016年代码是正确的。

然而在12月,我希望2017年11月到期,因为2016年11月已经过期。

我怎么能这样做?

我的代码:

<?php the_field('fl_month');echo date("Y"); ?>

2 个答案:

答案 0 :(得分:2)

// incoming month
$month = 'November';
$monthNumber = date("n", strtotime($month));

// current month
$currentMonth = date("n");

if ($currentMonth >= $monthNumber) {
    echo $month . ' ' . date('Y', strtotime('+1 year'));
} else {
    echo $month . ' ' . date('Y');
}

所以我将传入和当前月份转换为数字格式,检查当前月份是否大于或等于传入,然后基于此,我决定是否应该是明年。

答案 1 :(得分:0)

每月循环,直到找到下一次出现的11月:

$month = 'August';
echo myyear($month); // 2017
$month = 'November';
echo myyear($month); // 2016

function myyear($month) {
  $dt = strtotime($month);
  $target = date('m', $dt);
  if (date('m', time()) == date('m', $dt)) return date('Y');
  do {
    $dt = strtotime('next month', $dt);
  } while ($target != date('m', $dt));
  return date('Y', $dt);
}