最近由於工作的需要使用php獲取當前周以及上周的開始日期和結束日期。網上找了下,沒有合適的,於是自己做了一下總結。具體內容和代碼如下。
<?php header('Content-type: text/html; charset=utf-8'); $date=date('Y-m-d'); //當前日期 $first=1; //$first =1 表示每周星期一為開始日期 0表示每周日為開始日期 $w=date('w',strtotime($date)); //獲取當前周的第幾天 周日是 0 周一到周六是 1 - 6 $now_start=date('Y-m-d',strtotime("$date -".($w ? $w - $first : 6).' days')); //獲取本周開始日期,如果$w是0,則表示周日,減去 6 天 $now_end=date('Y-m-d',strtotime("$now_start +6 days")); //本周結束日期 $last_start=date('Y-m-d',strtotime("$now_start - 7 days")); //上周開始日期 $last_end=date('Y-m-d',strtotime("$now_start - 1 days")); //上周結束日期 echo '本周開始日期:',$now_start,'<br />'; echo '本周結束日期:',$now_end,'<br />'; echo '上周開始日期:',$last_start,'<br />'; echo '上周結束日期:',$last_end,'<br />';
注意:由於國外的星期都是從周日開始,中國習慣從周一開始,所以直接使用strtotime("last monday") 就會出現錯誤的結果。