php - 如何减少php中的月份?

标签 php date

我想将当月与 4 个季度分开。

$q1Start = date('Y-m-01',strtotime('-2 months'));
$q1End = date('Y-m-d');

$q2Start = date('Y-m-01',strtotime('-5 months'));
$q2End = date('Y-m-d',strtotime('-3 months'));

$q3Start = date('Y-m-01',strtotime('-8 months'));
$q3End = date('Y-m-t',strtotime('-6 months'));

$q4Start = date('Y-m-01',strtotime('-11 months'));
$q4End = date('Y-m-t',strtotime('-9 months'));

但它没有显示确切的日期。

我想要这样的。

2015-06-01
2015-08-31

2015-03-01
2015-05-31

2015-02-28
2014-12-01

2014-09-01
2014-11-30

如何按当月减少?谢谢

最佳答案

由于季度应基于当月,因此从该月的第一天开始计算会更容易。

$dayOfMonth = date('d');
$firstDayOfCurrentMonth = strtotime(sprintf('-%d days + 1 day midnight', $dayOfMonth));

$q1Start = date('Y-m-d', strtotime('-2 months', $firstDayOfCurrentMonth));
$q1End = date('Y-m-d', strtotime('+1 month - 1 day', $firstDayOfCurrentMonth));

$q2Start = date('Y-m-d', strtotime('-5 months', $firstDayOfCurrentMonth));
$q2End = date('Y-m-d', strtotime('-2 month - 1 day', $firstDayOfCurrentMonth));

$q3Start = date('Y-m-d', strtotime('-8 months', $firstDayOfCurrentMonth));
$q3End = date('Y-m-d', strtotime('-5 month - 1 day', $firstDayOfCurrentMonth));

$q4Start = date('Y-m-d', strtotime('-11 months', $firstDayOfCurrentMonth));
$q4End = date('Y-m-d', strtotime('-8 month - 1 day', $firstDayOfCurrentMonth));

这会将所有变量设置为预期值。

关于php - 如何减少php中的月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32305914/

相关文章:

php - 在 Magento 中找不到 Varien_Data_Form_Element_Int

javascript - 在 JavaScript 中将日期 2013-11-05 转换为 2013 年 11 月 5 日星期二?

php - 使用 date() 减去日期

java - 获取 Android 应用程序中每个联系人的生日

php - IRC 用户名作为论坛用户名

php - 多用户 XDebug 和 PHP 调试

javascript - 无法将数据从一个表复制到另一个表

php - fatal error : Call to undefined function easter_date()

php - 将日期(带毫秒)转换为时间戳

javascript - 在 CouchDB Map 函数中发出日期时 - 日期对象上调用了什么?