PHP: get last 6 months in format month year

允我心安 提交于 2019-12-12 18:11:02

问题


Is there a way in PHP to get the current and the previous 5 months in the following format?

April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

回答1:


Have you tried following:

<?php
echo date('F, Y');
for ($i = 1; $i < 6; $i++) {
  echo date(', F Y', strtotime("-$i month"));
}

Let me know, if this wont work.




回答2:


Try this

for ($j = 0; $j <= 5; $j++) {
    echo date("F Y", strtotime(" -$j month"));
}



回答3:


Use strtotime and date

for( $i = 0; $i <= 5 ; $i++) {
     print date("F Y", strtotime("-".$i." month"))."\n";
}

to achieve another formats for date look PHP date format HERE




回答4:


Why not use DateTime Object as

$start = new DateTime('first day of this month - 6 months');
$end   = new DateTime('last month');
$interval  = new DateInterval('P1M'); // http://www.php.net/manual/en/class.dateinterval.php

$date_period = new DatePeriod($start, $interval, $end);
$months = array();
foreach($date_period as $dates) {
  array_push($months, $dates->format('F').' '.$dates->format('Y'));
}

print_r($months);



回答5:


<?php
for ($i =0; $i < 6; $i++) {
    $months[] = date("F Y", strtotime( date( 'Y-m-01' )." -$i months"));
}

print_r($months)
?>

Try This..




回答6:


Do not use:

<?php
for ($i = 0; $i <= 6; $i++) {
  echo date('F Y', strtotime(-$i . 'month'));
}
// With date e.g.: "May, 31", outputs:
// May, 2018, May 2018, March 2018, March 2018, January 2018, December 2017

You can fix it by:

<?php
for ($i = 0; $i <= 6; $i++) {
  echo date('F Y', strtotime('last day of ' . -$i . 'month'));
}

Or better use DateTime, e.g.:

$dateTime = new DateTime('first day of this month');
for ($i = 1; $i <= 6; $i++) {
    echo $dateTime->format('F Y');
    $dateTime->modify('-1 month');
}



回答7:


for ($i = 1; $i <= 6; $i++) {
   $months[] = date("M-y", strtotime( date( 'Y-m-01' )." -$i months"));
}
print_r($months);


来源:https://stackoverflow.com/questions/22784894/php-get-last-6-months-in-format-month-year

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!