每两周显示不同的日期

时间:2012-06-14 09:40:14

标签: php date

我的第一个问题是这段代码是否有效?

第二种是有一种方法可以改进它,所以它会每两周更改一次,而不必我做新的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';
}

2 个答案:

答案 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);

}