【发布时间】:2018-07-24 05:30:42
【问题描述】:
我希望结果是这样的:-
|----------------------------------------------|
| Week Number | start date | end date |
|----------------------------------------------|
| 1 | 2018-02-01 | 2018-02-04 |
|----------------------------------------------|
| 2 | 2018-02-05 | 2018-02-11 |
|----------------------------------------------|
| 3 | 2018-02-12 | 2018-02-18 |
|----------------------------------------------|
| 4 | 2018-02-19 | 2018-02-25 |
|----------------------------------------------|
| 5 | 2018-02-26 | 2018-02-28 |
|----------------------------------------------|
因为 2018 年 2 月的第一天是星期四,所以第一周是从 1 点到 4 点(紧接的星期日)。
我有一个查询,它提供了到目前为止所有星期的开始日期和结束日期。
$currentWeekData = $this->CustomerPayment->query('SELECT WEEK(CURDATE()) AS current_week');
$currentWeek = $currentWeekData[0][0]['current_week'];
for($w = 0; $w <= $currentWeek; $w++)
{
$flagPay = 0;
$flagDep = 0;
$actualWeek = intval($w + 1);
$currentYear = date('Y');
$currentYearFirstDay = $currentYear.'-01-01';
$queryWeekRange = "SELECT '$currentYearFirstDay'+INTERVAL ($actualWeek-WEEK('$currentYearFirstDay', 1))*7 - WEEKDAY('$currentYearFirstDay') DAY as start_date,'$currentYearFirstDay'+INTERVAL ($actualWeek-WEEK('$currentYearFirstDay', 1)+1)*7-1 - WEEKDAY('$currentYearFirstDay') DAY as end_date";
$resultWeekRange = $this->CustomerPayment->query($queryWeekRange);
}
但我希望查询仅列出当前月份的每周范围。我该怎么做?
【问题讨论】:
-
你需要一个数据库吗?这会在 PHP 中做得更好吗? PHP has an extensive selection of date & time functions.