PHP Function สำหรับ หาวันจากช่วงเวลา หาวันหยุดในเดือนที่ระบุ

สวัสดีจ้าเพื่อน ๆ มีใครกำลังมองหา Function สำหรับหา วันหยุดในเดือนต่าง ๆ อยู่หรือป่าว วันนี้ ดูเพลิน เรามีตัวอย่างโค้ด สำหรับหาข้อมูลที่ว่า มาให้เพื่อน ๆ นำไปใช้กัน เรามีทั้งตัวอย่างโค้ด Function วิธีการใช้งาน และวิธีการเขียนมาให้ดูกันเลยจ้า

ตัวอย่าง PHP Function สำหรับหาวันหยุดในเดือน

Function จะรับ Parameter ตามรายการด้านล่างนี้:

  1. เลขลำดับวันในสัปดาห์ เริ่ม 1 = วันจันทร์ ไป จนถึง 7 = วันอาทิตย์
  2. เดือน
  3. ปี (ค.ศ)
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. เลขลำดับวันในสัปดาห์ เริ่ม 1 = วันจันทร์ ไป จนถึง 7 = วันอาทิตย์
  2. วันที่เริ่มต้น
  3. วันที่สิ้นสุด
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 สำหรับ หาวันจากช่วงเวลา หาวันหยุดในเดือนที่ระบุ ดูเพลินก็หวังว่าบทความของเราจะเป็นประโยชน์ต่อท่านไม่มากก็น้อย นอกจากนี้ เรายังมีบทความดี ๆ อีกมากมาย คุณสามารถลองคลิกเขาไปอ่านบทความอื่น ๆ ตามลิงค์ด้านล่างได้เลย

เทคนิคอื่นๆ เกี่ยวกับการเขียนโค้ด คลิก

อย่าลืมไปติดตาม Facebook fanpage ของเรา >> Click <<

หมวดหมู่เกี่ยวกับ Coding

เนื้อหาที่คล้ายกัน...

PHP วิธีการ Save Array Object ลงฐานข้อมูล

PHP วิธีการ Save Array Object ลงฐานข้อมูล

ดูเพลิน Admin - 26 ม.ค. 66
PHP + MySQL แก้ปัญหา ภาษาต่างดาว ในหน้าเว็บไซต์

PHP + MySQL แก้ปัญหา ภาษาต่างดาว ในหน้าเว็บไซต์

ดูเพลิน Admin - 28 ธ.ค. 65
วิธีทำ Textbox Autocomplete จากฐานข้อมูล ด้วย jQuery Ajax

วิธีทำ Textbox Autocomplete จากฐานข้อมูล ด้วย jQuery Ajax

ดูเพลิน Admin - 16 ม.ค. 66

เรื่องราวเอื่น ๆ ในหมวดเทคนิคการเขียนโค้ด...

let value = 147/32; let result_value = Math.round(value); console.info('Value = '+value+' Result = '+result_value); //ผลลัพธ์ Value = 4.59 Result = 5let value = 147/33; let result_value = Math.round(value); console.info('Value = '+value+' Result = '+result_value); //ผลลัพธ์ Value = 4.454 Result = 4