取得本週的起始日與結束日

Home / PHP / 取得本週的起始日與結束日

$d = strtotime(“today”);
$start_week = strtotime(“last sunday midnight”,$d);
$end_week = strtotime(“next saturday”,$d);
$start = date(“Y-m-d”,$start_week);
$end = date(“Y-m-d”,$end_week);

PHP手冊上有一個這個方法,用來返回指定日期的周一和周日

strtotime獲取本周第一天和最後一天方法的BUG PHP手冊上有一個這個方法,用來返回指定日期的周一和周日

但在跨年的時候使用會有問題例如2009年的12月31日週四和2010年1月1日週五週拿到的周一和周日完全不同2009年12月31日拿合到的周一和周日分別對應2009-12-28 2010-01-03 但2010年1月1日拿到的周一和周日分別對應2011-01-03 2011-01-09 原因為傳進去的方法的周為第53週,但是年為2010年,所以認為2010的第53週,所以計算有誤,解決方法為,如果週為大於10(因為一月個月不可能有10週),且月份為1的時候,將年減1處理

 

1769 全部 1 今日

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*