1

助けが必要です5/2/12から隔週の水曜日を選択してください。以下のこのコードは、現在の週から隔週の水曜日を選択します。しかし、私は最初の週を設定する必要があります。私はPHPに精通していますが、PHPの日付には精通していません。ですから、できるだけ具体的にしてください。私はこれを見つけました:

$number_of_dates = 10;

for ($i = 0; $i < $number_of_dates; $i++) {
   echo date('m-d-Y', strtotime('Wednesday +' . ($i * 2) . ' weeks')). "<br>".PHP_EOL;
}
4

4 に答える 4

3

を使用mktimeして開始日を作成し、それを2番目の引数として渡して、strtotimeそこからカウントを開始します。

$startDate = mktime(0, 0, 0, 5, 2, 2012); // May 2, 2012
for ($i = 0; $i < $number_of_dates; $i++) {
   $date = strtotime('Wednesday +' . ($i * 2) . ' weeks', $startDate);
   echo date('m-d-Y', $date). "<br>".PHP_EOL;
}

実際の動作をご覧ください

于 2012-05-02T19:37:59.257 に答える
1

「Wednesday」(次の水曜日を選択)の代わりに、文字列に日付を入力して、次のように記述します。

strtotime('20120502 +' . ($i * 2) . ' weeks'))

その日付を選択します。(形式はyyyymmddです)。

于 2012-05-02T19:44:51.770 に答える
0

PHP 5.2.0以降を使用している場合は、次の方法で簡単に実行できます。

$date = new DateTime('2006-05-02');
for ($i=0; $i<10; $i++) {
   echo $date->format('m-d-Y').'<br/>'.PHP_EOL;
   $date->modify('+1 week');
}
于 2012-05-02T20:31:14.070 に答える
0

DatePeriodDateIntervalクラスを使用して、生活を楽にすることもできます。

標準の免責事項:上記のクラスは両方ともPHP>=5.3.0を必要とします。

$number_of_dates = 10;

$start_date = new DateTime("5/2/12");
$interval   = DateInterval::createFromDateString("second wednesday");
$period     = new DatePeriod($start_date, $interval, $number_of_dates - 1);

foreach ($period as $date) {
    echo $date->format("m-d-Y") . "<br>" . PHP_EOL;
}
于 2012-05-02T20:40:20.740 に答える