-1 monday输出是这周一的时间,很奇怪
这个还是写一个通用的方法吧
function last_monday($timestamp=0,$is_return_timestamp=true){
static $cache ;
$id = $timestamp.$is_return_timestamp;
if(!isset($cache[$id])){
if(!$timestamp) $timestamp = time();
$thismonday = this_monday($timestamp) - /*7*86400*/604800;
if($is_return_timestamp){
$cache[$id] = $thismonday;
}else{
$cache[$id] = date('Y-m-d',$thismonday);
}
}
return $cache[$id];
}
date('w')得到当前周几,由于周一至周六分别是1-6,周日是0。当值为0的时候,上周一是13天前。其余就是date('w')+6天前。
$days = date('w')==0?13:date('w')+6;
echo date('Y-m-d',time()-$days*86400);
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
因为老外认为“this monday”是下周一,“last monday”是本周一
直接"-2 monday"就好了,或者"monday last week"