Как найти дату начала и окончания последних 4 месяцев, включая текущую в php - PullRequest
0 голосов
/ 18 июля 2011

Я хочу получить даты начала и окончания последних 4 месяцев, включая текущий месяц. Пожалуйста, помогите.

Ответы [ 3 ]

2 голосов
/ 18 июля 2011

В PHP 5.2+ вы можете использовать DateTime и DateInterval для решения этой проблемы:

Пример:

<?php

$date = new DateTime('first day of this month 3 months ago');

// Loop 4 times.
for ( $i = 0; $i < 4; $i++ )
{
  echo 'Start: ' . $date->format('Y-m-d') . PHP_EOL;
  echo 'End: ' . $date->format('Y-m-t') . PHP_EOL;

  // Add 1 month.
  $date->add(new DateInterval('P1M'));
}
1 голос
/ 18 июля 2011
<?php
// start day of current month
echo date("m/d/Y", strtotime(date('m').'/01/'.date('Y').' 00:00:00'));

// end day of current month
echo date("m/d/Y", strtotime('-1 second',strtotime('+1 month',strtotime(date('m').'/01/'.date('Y').' 00:00:00'))));
?>

вы можете добавлять или удалять месяцы ... и вы получите точные результаты

0 голосов
/ 18 июля 2011

Я бы сделал это так ...

<?php
// current day to start with
$start = mktime(0,0,0,date('m'), date('d'), date('Y'));;

// loop through the current and last four month
for ($i = 0; $i <=4; $i++) {
    // calculate the first day of the month
    $first = mktime(0,0,0,date('m',$start) - $i,1,date('Y',$start));

    // calculate the last day of the month
    $last = mktime(0, 0, 0, date('m') -$i + 1, 0, date('Y',$start));

    // now some output...
    echo date('Y-m-d',$first) . " - ".date('Y-m-d',$last). "<br>";
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...