可能重复:
在php中获取当前第一天和最后一天
我正在尝试获取给定日期的一周、一个月、季度和一年的第一天和最后一天。
例如,对于 2013 年 1 月 16 日,第一天和最后一天是:
- 周 - 应该是 2013-01-13 和 2013-01-19(假设周日到周六)
- 月份 - 应该是 2013-01-01 和 2013-01-31
- 季度 - 将是 2013-01-01 和 2013-03-31
- 年份 - 应该是 2013-01-01 和 2013-12-31
我的目的是将它们包含在WHERE myDate BETWEEN 2013-01-13 AND 2013-01-19
.
标准的 MYSQL 函数解决方案(但不是存储过程等)或 PHP 解决方案都是可以接受的。谢谢
给定季度的第一天和最后一天的解决方案。
$q=ceil($date->format("n")/3);
$months_start=array('January','April','July','October');
$months_end=array('March','June','September','December');
$m_start=$months_start[$q-1];
$m_end=$months_end[$q-1];
$modifier='first day of '.$m_start.' '.$date->format('Y');
$date->modify($modifier);
echo $modifier.': '.$date->format('Y-m-d').'<br>';
$modifier='last day of '.$m_end.' '.$date->format('Y');
$date->modify($modifier);
echo $modifier.': '.$date->format('Y-m-d').'<br>';