Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 每两周显示不同的日期_Php_Date - Fatal编程技术网

Php 每两周显示不同的日期

Php 每两周显示不同的日期,php,date,Php,Date,我的第一个问题是这个代码是否有效 第二,是否有改进的方法,因此每两周会更改一次日期,而不需要我做出新的if声明? 如果小于6月20日,则返回6月20日;如果小于7月4日,则返回7月4日,以此类推 if(date("d")<=20 && date("m")<=6){ $text = '20 june'; } else if(date("d")<=4 && date("m")<=7){ $text = '4 july'; }

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

第二,是否有改进的方法,因此每两周会更改一次日期,而不需要我做出新的if声明? 如果小于6月20日,则返回6月20日;如果小于7月4日,则返回7月4日,以此类推

if(date("d")<=20 && date("m")<=6){
    $text = '20 june';
}
else if(date("d")<=4 && date("m")<=7){
    $text = '4 july';
}

if(date(“d”)如果我错了,请纠正我。您基本上希望将一年划分为两周的间隔。每个间隔由一个日期表示(在您的情况中,日期是两周周期的结束)

正如你所指出的,这根本不起作用。你别无选择,只能写下全年的条件

您可以做的是维护$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);

}
我的变种

$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";

我的第一个问题是这个代码是否有效?-测试它--关于第一个问题-。关于第二个问题-对于你想要完成的事情没有任何线索。没有什么复杂的,我只想每两周显示不同的日期。快速查看代码时,代码会工作得很好。而且,由于这显然是一个测试问题,你应该你自己知道,不要上网在这里问:)同意,这样更整洁。:)这很有效。这不是为了考试,而是为了让工作更轻松。