我的第一个问题是这段代码是否有效?
第二种是有一种方法可以改进它,所以它会每两周更改一次,而不必我做新的if语句吗? 如果少于20月6日回声20月6日,如果少于4月7日回声等,
if(date("d")<=20 && date("m")<=6){
$text = '20 june';
}
else if(date("d")<=4 && date("m")<=7){
$text = '4 july';
}
答案 0 :(得分:3)
我的变种。
$StartDate = strtotime('2012-06-06'); //Start date from which we begin count
$CurDate = date("Y-m-d"); //Current date.
$NextDate = date("Y-m-d", strtotime("+2 week", $StartDate)); //Next date = +2 week from start date
while ($CurDate > $NextDate ) {
$NextDate = date("Y-m-d", strtotime("+2 week", strtotime($NextDate)));
}
echo date("d F", strtotime($NextDate)), "\n";
答案 1 :(得分:0)
如果我错了,请纠正我。你基本上想把这一年分成2周的间隔。每个间隔由日期表示(在您的情况下,日期是2周期间的结束)。
正如你所指出的,这根本不起作用。除了写完全年的其他条件,你别无选择。
你可以做的是维持一个$ date变量。
//Initialize this part once on the first run of your code.
//Say you want to start on the 1st of June
$pivotDate = "2012-06-01";
然后您可以通过一个简单的条件来完成每次代码运行时的检查:
$diff = abs(strtotime(date(c)) - strtotime($datePivot));
$days= floor($diff/(60*60*24));
if(days>14){
$pivotDate=date(c);
}