最近接到一个任务,归纳起来,就是:要算出每年当中,每周的周一日期。想了一会,看了下date函数,深入了解了一下date函数各个参数的含义之后,终于把这道题做出来了!
在date()函数中,有一个参数对解决这个题目很关键,就是format字符D。它表示的是星期中的第几天,用文本表示,3个字母:从Mon到Sun。我们可以通过当前时间来算出它处于星期中的第几天,然后与星期一对比,减去对应的天数即可。
以下部分是代码:
ublic function caluateTime(){
$now = date("Ymd");//当前时间
$day = date("D");
switch($day){
case "Mon":
return $now;
break;
case "Tue":
return date("Ymd",strtotime("-1days",strtotime($now)));
break;
case "Wed":
return date("Ymd",strtotime("-2days",strtotime($now)));
break;
case "Thu":
return date("Ymd",strtotime("-3days",strtotime($now)));
break;
case "Fri":
return date("Ymd",strtotime("-4days",strtotime($now)));
break;
case "Sat":
return date("Ymd",strtotime("-5days",strtotime($now)));
break;
case "Sun":
return date("Ymd",strtotime("-6days",strtotime($now)));
break;
}
}
延伸一下,可以计算出一年中每周任意一天的日期!