我正在使用此代码获取当前年份
echo date("Y");
我还有一个月份名称的变量
$month= "November"
现在已经是十一月了,我的2016年代码是正确的。
然而在12月,我希望2017年11月到期,因为2016年11月已经过期。
我怎么能这样做?
我的代码:
<?php the_field('fl_month');echo date("Y"); ?>
答案 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);
}