之間我已經if語句以下工作:如果沒有聲明的日期
$current=date('d/m/Y');
$next_year=date('y')+1;
$q1a='01/04/'.date('Y');
$q1b='30/06/'.date('Y');
$q2a='01/07/'.date('Y');
$q2b='30/09/'.date('Y');
$q3a='01/09/'.date('Y');
$q3b='31/12/'.date('Y');
$q4a='01/01/20'.$next_year;
$q4b='31/03/20'.$next_year;
if (($current > $q1a) && ($current < $q1b))
{
$currentquarter='Q1';
}
elseif (($current > $q2a) && ($current < $q2b))
{
$currentquarter='Q2';
}
elseif (($current > $q3a) && ($current < $q3b))
{
$currentquarter='Q3';
}
elseif (($current > $q4a) && ($current < $q4b))
{
$currentquarter='Q4';
}
echo $currentquarter;
但即使它應該是Q3爲今天的日期在2017年1月9日和31/12/2017之間返回Q1
你不能比較d/M/Y日期使用''<', '>等既可以使用,將基本比較運算符(時間戳或年月日)工作的格式字符串,或使用適當的'DateTime'對象。 – iainn
你的變量是字符串。它們不能與日期對象進行比較。首先將它們轉換爲Date對象。檢查[此鏈接](http://php.net/manual/en/datetime.format.php) – Sidra
旁註:爲什麼'20'。 date('y')+ 1'而不是'date('Y')+ 1'?此代碼被硬編碼爲假定在2010年之後和2100年之前執行;這可能是一個足夠安全的假設,但在處理日期時仍然是一個可怕的習慣。 – deceze