今天我將繼續跟大家介紹PHP日期時間系列文章,那麼在上一篇《PHP日期時間運用十二:獲取當前月份及其前三個月》給大家介紹了怎麼獲取當前月份及其前三個月,有興趣的朋友可以了解一下!
→相關推薦:《PHP日期時間運用大匯總(持續更新~)》
本文的重點內容則是教大家如何計算兩個日期之間的周數。
大家可以自己先在本地做一做,看看實作的方法是否跟我一樣呢?
以下是我給的方法:
PHP程式碼如下:
<?php function week_between_two_dates($date1, $date2) { $first = DateTime::createFromFormat('m/d/Y', $date1); $second = DateTime::createFromFormat('m/d/Y', $date2); if($date1 > $date2) return week_between_two_dates($date2, $date1); return floor($first->diff($second)->days/7); } $dt1 = '1/1/2020'; $dt2 = '12/29/2020'; echo $dt1.' 和 '. $dt2. ' 之间相差的周数是 '. week_between_two_dates($dt1, $dt2)." 周 ";
這裡我們求“1/1/2020”和「12/29/2020」兩個日期之間的周數;
運行上面的程式碼,輸出計算結果如下:
1/1/2020 和 12/29/2020 之间相差的周数是 51 周
那麼各位可以直接複製上述程式碼,在本地進行測試。
附註:
DateTime::createFromFormat
-- date_create_from_format
:根據給定的格式解析日期時間字串;
#物件導向風格
public static DateTime::createFromFormat(string $format, string $time, DateTimeZone $timezone = ?): DateTime
過程化風格
date_create_from_format(string $format, string $time, DateTimeZone $timezone = ?): DateTime
將 time 參數給定的日期時間字串, 根據 format 參數給定的格式解析為新的DateTime 物件。
參數format
:在解析日期時間字串的時候使用的格式 string。大部分格式和 date() 函數中的格式是一致的。
time
:用來表示日期時間的字串。
timezone
:DateTimeZone 對象, 表示在解析日期時間字串的時候需要使用的時區。
如果忽略 timezone 參數, 並且表示日期時間的字串 time 中也不包含時區信息, 那麼將會使用系統當前時區作為解析結果對象的時區。
注意:
如果time 參數是UNIX 時間戳格式(例如:946684800), 或其中已經包含了時區資訊(例如:2010-01-28T15:00:00 02:00 ), 那麼timezone 以及系統目前時區都會被忽略。
最後推薦給大家最新、最全面的《PHP影片教學》~快來學習吧!
以上是PHP日期時間運用十三:計算兩個日期之間的週數的詳細內容。更多資訊請關注PHP中文網其他相關文章!