-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 回答