คลาส DatePeriod
คลาส DatePeriod สร้างลำดับของวันที่ระหว่างจุดเริ่มต้นและจุดสิ้นสุดด้วยช่วงเวลาที่กำหนด
รับพารามิเตอร์: วันที่เริ่มต้นในรูปของอ็อบเจ็กต์ DateTime, ช่วงเวลาในรูปของอ็อบเจ็กต์ DateInterval, จำนวนครั้งที่เกิดซ้ำ หรือวันที่สิ้นสุด
ช่วยให้สามารถวนลูปผ่านทุกวันที่ในช่วงเวลาที่กำหนดได้
ไวยากรณ์
new DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
new DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);
ตัวอย่าง
สร้างช่วงวันที่ 5 วันด้วยช่วงเวลาห่างกัน 1 วัน:
<?php
$start = new DateTime('2025-01-01');
$interval = new DateInterval('P1D');
$period = new DatePeriod($start, $interval, 4);
foreach ($period as $date) {
echo $date->format('Y-m-d') . '<br>';
}
?>
ผลลัพธ์จากการรันโค้ด:
'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'
ตัวอย่าง
สร้างช่วงเวลาระหว่างสองวันที่ด้วยช่วงเวลาห่างกัน 1 สัปดาห์:
<?php
$start = new DateTime('2025-01-01');
$end = new DateTime('2025-02-01');
$interval = new DateInterval('P1W');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $date) {
echo $date->format('Y-m-d') . '<br>';
}
?>
ผลลัพธ์จากการรันโค้ด:
'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'
ดูเพิ่มเติม
-
คลาส
DateTime,
สำหรับการทำงานกับวันที่และเวลา -
คลาส
DateInterval,
สำหรับการทำงานกับช่วงเวลาของวันที่