-2

PHPで毎月1月から12月の1日と15日をエコーする必要があります。を使用して日を追加する方法を知っています

$date1 = $_POST['previous_pay_date'];
  $date2 = date('M j, Y', strtotime($date1 . " + 7 day"));
  $date3 = date('M j, Y', strtotime($date2 . " + 7 day"));
  $date4 = date('M j, Y', strtotime($date3 . " + 7 day"));

  $date1 = $_POST['previous_pay_date'];
  $date2 = date('M j, Y', strtotime($date1 . " + 14 day"));
  $date3 = date('M j, Y', strtotime($date2 . " + 14 day"));
  $date4 = date('M j, Y', strtotime($date3 . " + 14 day"));

  $date1 = $_POST['previous_pay_date'];
  $date2 = date('M j, Y', strtotime($date1 . " + 1 month"));
  $date3 = date('M j, Y', strtotime($date2 . " + 1 month"));
  $date4 = date('M j, Y', strtotime($date3 . " + 1 month"));
  $date5 = date('M j, Y', strtotime($date4 . " + 1 month"));

しかし、今は月の 1 日と 15 日だけが必要です

4

1 に答える 1

1

DateTimeオブジェクトを使用した私のソリューション:はるかに単純なようですよね?

<?php

header("Content-type: text/plain");

$date = new DateTime("2012-01-01");
echo $date->format("Y-m-d"), PHP_EOL;
$date->modify("+14 days");
echo $date->format("Y-m-d"), PHP_EOL;

while ($date->format("Y") != "2013") {
    $date->modify("first day of next month");
    echo $date->format("Y-m-d"), PHP_EOL;
    $date->modify("+14 days");
    echo $date->format("Y-m-d"), PHP_EOL;
}
于 2012-11-26T19:02:00.450 に答える