สวัสดีจ้าเพื่อน ๆ มีใครกำลังมองหา Function สำหรับหา วันหยุดในเดือนต่าง ๆ อยู่หรือป่าว วันนี้ ดูเพลิน เรามีตัวอย่างโค้ด สำหรับหาข้อมูลที่ว่า มาให้เพื่อน ๆ นำไปใช้กัน เรามีทั้งตัวอย่างโค้ด Function วิธีการใช้งาน และวิธีการเขียนมาให้ดูกันเลยจ้า
ตัวอย่าง PHP Function สำหรับหาวันหยุดในเดือน
Function จะรับ Parameter ตามรายการด้านล่างนี้:
- เลขลำดับวันในสัปดาห์ เริ่ม 1 = วันจันทร์ ไป จนถึง 7 = วันอาทิตย์
- เดือน
- ปี (ค.ศ)
function getListOfTheDay($dayOfTheWeek = [],$month = '1',$year = ''){ $dayOfTheWeek = empty($dayOfTheWeek) ? [1] : $dayOfTheWeek; $month = sprintf("%02d", $month); $year = empty($year) ? date('Y') : $year; $startDate = "{$year}-{$month}-01"; $endDate = date("Y-m-t", strtotime($startDate)); $dayList = [ '1' => 'Monday', '2' => 'Tuesday', '3' => 'Wednesday', '4' => 'Thursday', '5' => 'Friday', '6' => 'Saturday', '7' => 'Sunday', ]; $dateLists = []; foreach ($dayOfTheWeek as $day){ $focusDay = $dayList[$day]; for($i = strtotime($focusDay, strtotime($startDate)); $i <= strtotime($endDate); $i = strtotime('+1 week', $i)){ $dateLists[] = date('Y-m-d', $i); } } sort($dateLists); return $dateLists; }
ตัวอย่างการใช้งาน หากเราจะหาวันหยุด เสาร์ อาทิตย์ ของเดือนเมษายน ปี 2023 ก็สามารถส่งค่าตามตัวอย่างด้านล่าง [6,7] คือ ค่า Array จะอ้างอิงกับตัวแปร $dayList ของ Function getListOfTheDay();
$dateLists = getListOfTheDay([6,7],1,2023); echo "<pre>"; print_r($dateLists); echo "</pre>"; //ผลลัพธ์
Array ( [0] => 2023-04-01 [1] => 2023-04-02 [2] => 2023-04-08 [3] => 2023-04-09 [4] => 2023-04-15 [5] => 2023-04-16 [6] => 2023-04-22 [7] => 2023-04-23 [8] => 2023-04-29 [9] => 2023-04-30 )
ตัวอย่าง PHP Function สำหรับหาวันที่ของ วันจันทร์ ตามช่วงเวลาที่ระบุ
Function จะรับ Parameter ตามรายการด้านล่างนี้:
- เลขลำดับวันในสัปดาห์ เริ่ม 1 = วันจันทร์ ไป จนถึง 7 = วันอาทิตย์
- วันที่เริ่มต้น
- วันที่สิ้นสุด
function getListOfRangeDay($dayOfTheWeek = [],$startDate='',$endDate = ''){ $dayOfTheWeek = empty($dayOfTheWeek) ? [1] : $dayOfTheWeek; $startDate = empty($startDate) ? date("Y-m-d") : $startDate; $endDate = empty($endDate) ? date("Y-m-t", strtotime($startDate)) : $endDate; $dayList = [ '1' => 'Monday', '2' => 'Tuesday', '3' => 'Wednesday', '4' => 'Thursday', '5' => 'Friday', '6' => 'Saturday', '7' => 'Sunday', ]; $dateLists = []; foreach ($dayOfTheWeek as $day){ $focusDay = $dayList[$day]; for($i = strtotime($focusDay, strtotime($startDate)); $i <= strtotime($endDate); $i = strtotime('+1 week', $i)){ $dateLists[] = date('Y-m-d', $i); } } sort($dateLists); return $dateLists; }
ตัวอย่างการใช้งาน เราจะหาวันที่ของวันจันทร์ ตั้งแต่เดือน มกราคม - มีนาคม ปี 2023 ก็สามารถส่งค่าตามตัวอย่างด้านล่าง [1] คือ ค่า Array จะอ้างอิงกับตัวแปร $dayList ของ Function getListOfRangeDay();
$dateLists = getListOfRangeDay([6,7],1,2023); echo "<pre>"; print_r($dateLists); echo "</pre>"; //ผลลัพธ์
Array ( [0] => 2023-01-02 [1] => 2023-01-09 [2] => 2023-01-16 [3] => 2023-01-23 [4] => 2023-01-30 [5] => 2023-02-06 [6] => 2023-02-13 [7] => 2023-02-20 [8] => 2023-02-27 [9] => 2023-03-06 [10] => 2023-03-13 [11] => 2023-03-20 [12] => 2023-03-27 )
เป็นยังไงกันบ้างคะ สำหรับบทความเรื่อง PHP Function สำหรับ หาวันจากช่วงเวลา หาวันหยุดในเดือนที่ระบุ ดูเพลินก็หวังว่าบทความของเราจะเป็นประโยชน์ต่อท่านไม่มากก็น้อย นอกจากนี้ เรายังมีบทความดี ๆ อีกมากมาย คุณสามารถลองคลิกเขาไปอ่านบทความอื่น ๆ ตามลิงค์ด้านล่างได้เลย