ホームページ >バックエンド開発 >PHPチュートリアル >php 今週と先週の開始日と終了日を取得します
最近、仕事の都合上、phpを使って今週と先週の開始日と終了日を取得しています。
ネットで調べても適当なものがなかったので自分でまとめてみました。
具体的なコンテンツとコードは次のとおりです:
<p><?php</p>header('Content-type: text/html; charset=utf-8');<br /><br />$date=date('Y-m-d'); //当前日期<br /><br />$first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期<br /><br />$w=date('w',strtotime($date)); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 <br /><br />$now_start=date('Y-m-d',strtotime("$date -".($w ? $w - $first : 6).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天<br /><br />$now_end=date('Y-m-d',strtotime("$now_start +6 days")); //本周结束日期<br /><br />$last_start=date('Y-m-d',strtotime("$now_start - 7 days")); //上周开始日期<br /><br />$last_end=date('Y-m-d',strtotime("$now_start - 1 days")); //上周结束日期<br /><br />echo '本周开始日期:',$now_start,'<br />';<br />echo '本周结束日期:',$now_end,'<br />';<br />echo '上周开始日期:',$last_start,'<br />';<br /><p>echo '上周结束日期:',$last_end,'<br />';</p>
注: 海外では週はすべて日曜日に始まるため、中国では月曜日から開始するため、strtotime("last monday") を直接使用すると間違った結果が得られます。