目前我使用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)) . '';
}
正如你在图像中看到的那样,我将在2018年3月到2018年之间等等。现在我想要如果我到2018年3月那么我想要显示2018年1月至3月2018年等。如何获得此类型数据
答案 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');
}