如何在PHP中设置前3个月?

时间:2018-05-30 13:35:16

标签: php date

  

目前我使用for循环获取此输出以查看下一个3   当月的月份:

$this_month = mktime(0, 0, 0, date('m',strtotime($endDate)), 1, date('Y',strtotime($endDate)));
for ($i = 0; $i > 3; $i++) 
{
    $to_date = date('F Y', strtotime($i++.' month', $this_month)) . '';
}  

enter image description here

正如你在图像中看到的那样,我将在2018年3月到2018年之间等等。现在我想要如果我到2018年3月那么我想要显示2018年1月至3月2018年等。如何获得此类型数据

2 个答案:

答案 0 :(得分:2)

您可以使用DateTime::sub()DateInterval

像这样:

$date = new DateTime($endDate); // create the dateTime object
$date->sub(new DateInterval('P3M')) // substract 3 months to this date
$to_date =  $date->format('F Y');

答案 1 :(得分:0)

下面的approuch将循环并修改DateTime对象。它将在每个循环中回显您的日期,从而在每个月显示过去3个月的时间。

// Date as a string
$sDate = '2018-04-01';

// Create a DateTime object
$oDate = DateTime::createFromFormat('Y-m-d', $sDate);

// Get the previous 3 months
for ($i = 1; $i < 3; $i++) {
    $oDate->modify('-1 month');
    echo $oDate->format('F Y');
}