作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在为 mySQL 准备查询以获取前一周的记录,但我必须将周视为周一至周日。我最初是这样做的:
WHERE YEARWEEK(contactDate) = YEARWEEK(DATE_SUB(CURDATE(),INTERVAL 7 DAY))
发现 mySQL 将星期视为星期日 - 星期一。因此,我正在解析 php 中的开始和结束日期,如下所示:
$i = 0;
while(date('D',mktime(0,0,0,date('m'), date('d')-$i, date('y'))) != "Mon") {
$i++;
}
$start_date = date('Y-n-j', mktime(0,0,0,date('m'), date('d')-($i+7), date('y')));
$end_date = date('Y-n-j', mktime(0,0,0,date('m'), date('d')-($i+1), date('y')));
这有效 - 它获取当前周的星期一日期(向后走直到遇到星期一)然后根据该日期计算前一周的日期。
我的问题是:有没有更好的方法来做到这一点?看起来很草率,我希望有人能给我一个更简洁的方法来做这件事——或者可能不是因为我需要周一到周日的几周。
显然,有:
$start = date('Y-m-d',strtotime('last monday -7 days'));
$end = date('Y-m-d',strtotime('last monday -1 days'));
这大约是可读性的一百万倍。谢谢。
最佳答案
你可以使用strtotime对于这种日期问题
echo strtotime("last Monday");
关于php - 获取上周一 - 周日的日期 : Is there a better way?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412582/
我是一名优秀的程序员,十分优秀!