2016-11-24 47 views
1

我使用這個代碼來獲得本年度PHP獲取本年當月後

echo date("Y"); 

我也有月的名稱的變量現在

$month= "November" 

這是十一月,我得到2016年我的代碼是正確的。

但是在十二月,我想在2017年11月到期,因爲2016年11月已過期。

我怎麼能去呢?

我的代碼:

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

你的代碼在哪裏? – marekful

+0

剛發佈,不知道還有什麼在這裏 –

+0

the_field表明這是在一個WordPress的應用程序內?正確? – Digitalis

回答

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'); 
} 

所以我傳入和當月轉換爲數字格式,檢查當前月份是否大於或等於傳入,然後基於此,我決定是否應該是明年。

0

循環每一個月,直到找到十一月的下一次出現:

$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); 
}