PHP strtotime 函數在處理日期時間時極為方便,讓我們可以很快地將人類可讀的日期時間轉換為 UNIX 時間戳。今天,我們將重點討論如何使用 strtotime 函數來獲取上周的日期。
$lastWeek = strtotime('last week'); echo date('Y-m-d', $lastWeek); // 輸出上周第一天的日期,如:2021-10-11
上面的代碼演示如何使用 "last week" 參數來獲取上周的日期,只要調用 strtotime 就能夠得到數據。當然,在實際應用中,strtotime 還有很多其它有用的參數:
- "next week":下周的第一天
- "+1 week":從現在開始的下周的第一天
- "-1 week":從現在開始的上周的第一天
- "+2 weeks":從現在開始的兩周后的第一天
- "first day of this month":本月第一天
- "last day of this month":本月最后一天
$nextWeek = strtotime('next week'); $after2Week = strtotime('+2 weeks'); $thisMonthFirstDay = strtotime('first day of this month'); $thisMonthLastDay = strtotime('last day of this month'); echo date('Y-m-d', $nextWeek) . '<br />'; // 輸出下周第一天的日期 echo date('Y-m-d', $after2Week) . '<br />'; // 輸出兩周后的第一天的日期 echo date('Y-m-d', $thisMonthFirstDay) . '<br />'; // 輸出本月第一天的日期 echo date('Y-m-d', $thisMonthLastDay) . '<br />'; // 輸出本月最后一天的日期
使用 strtotime 函數,我們可以方便地處理各種日期時間格式。不過,需要注意的是,strtotime 對于特殊字符的處理并不總是符合我們的預期。例如:
$date = '2021-11-02'; $nextWeek = strtotime($date . ' next week'); echo date('Y-m-d', $nextWeek); // 輸出 2021-11-08
我們本想獲取 2021-11-09,但實際得到的是 2021-11-08,因為 "next week" 是下周一的意思,而 $date 已經是周二了。這是需要注意的小細節。
綜上,使用 PHP strtotime 函數可以處理各種日期時間格式,包括獲取上周、下周、特定日期時間等功能,方便簡潔。不過,需要留意特殊字符的處理以及調用時的上下文,以免造成錯誤。