DateInterval
和 DatePeriod
是 PHP 中用于處理日期和時間的兩個類
DateInterval
是一個表示時間間隔的類,它主要用于表示兩個日期之間的持續時間。你可以使用它來計算兩個日期之間相差的天數、小時數、分鐘數等。你可以通過創建一個 DateInterval
對象并設置相應的屬性(如 days
、hours
、minutes
等)來定義時間間隔。此外,你還可以使用預定義的字符串格式(如 “P1D” 表示 1 天)或自定義的日期間隔字符串來創建 DateInterval
對象。示例:
$interval = new DateInterval('P1DT1H'); // 表示 1 天 1 小時
echo $interval->format('%R%a days'); // 輸出 +1 days
DatePeriod
是一個表示日期范圍的類,它主要用于遍歷一個日期范圍內的所有日期。你可以使用它來生成一個日期序列,例如從今天開始的一個月內的所有日期。DatePeriod
對象可以通過提供一個 DateInterval
對象和一個起始日期來創建。你還可以使用 setStartDate()
、setEndDate()
和 add()
方法來修改日期范圍。示例:
$startDate = new DateTime('2021-01-01');
$endDate = new DateTime('2021-01-31');
$period = new DatePeriod($startDate, new DateInterval('P1D'), $endDate->add($startDate));
foreach ($period as $date) {
echo $date->format('Y-m-d') . PHP_EOL;
}
總結:
DateInterval
用于表示兩個日期之間的時間間隔,主要用于計算時間差。DatePeriod
用于表示一個日期范圍內的所有日期,主要用于遍歷日期序列。