如何修改PHP代码-2W分支 获取以上周周日为终点的两周薪资统计日期范围
两周薪资周期
-2W分支修改方案 你现有代码的-2W分支存在两处问题:
- 起始日期的计算表达式兼容性不足,部分PHP版本无法正确识别
monday previous to last week语义 $objectView->historyFrom赋值错误,取的是上周周一,导致展示的起始范围和实际统计的起始范围不一致,且仅覆盖1周而非需求要求的2周
修改后的分支代码如下:
case '-2W': // 以上周周日为周期终点,往前推2周的周一为周期起点 $endTimestamp = strtotime('sunday last week'); $startTimestamp = strtotime('monday -2 weeks', $endTimestamp); $from = date('Y-m-d ', $startTimestamp) . '00:00:00'; $to = date('Y-m-d ', $endTimestamp) . '23:59:59'; $objectView->historyFrom = date('D, F j', $startTimestamp); $objectView->historyTo = date('D, F j', $endTimestamp); break;
逻辑说明:
- 以上周周日的时间戳为统一基准推导起始时间,避免当前日期是周几对计算结果产生影响,兼容性和稳定性更强
- 如果你偏好更简洁的写法,也可以直接把
$startTimestamp替换为strtotime('monday 2 weeks ago'),正常场景下计算结果完全一致
内容的提问来源于stack exchange,提问作者suchislife801
相关产品推荐
相关产品推荐

