Pembangunan PHP untuk mencipta kalendar mudah untuk menjana pelbagai nilai sempadan kalendar
Sesuaikan kaedah ambang fungsi untuk menjana setiap nilai sempadan kalendar
1) Kira jumlah bilangan hari dalam bulan ini
2) Kira nombor pertama bulan ini Hari dan hari terakhir, setiap satu ialah hari dalam seminggu
3) Kira tarikh pertama dan tarikh terakhir dalam kalendar
<?php function threshold($year, $month) { $firstDay = mktime(0, 0, 0, $month, 1, $year); $lastDay = strtotime('+1 month -1 day', $firstDay); //取得天數(shù) $days = date("t", $firstDay); //取得第一天是星期幾 $firstDayOfWeek = date("N", $firstDay); //獲得最后一天是星期幾 $lastDayOfWeek = date('N', $lastDay); //上一個月最后一天 $lastMonthDate = strtotime('-1 day', $firstDay); $lastMonthOfLastDay = date('d', $lastMonthDate); //下一個月第一天 $nextMonthDate = strtotime('+1 day', $lastDay); $nextMonthOfFirstDay = strtotime('+1 day', $lastDay); //日歷的第一個日期 if($firstDayOfWeek == 7){ $firstDate = $firstDay; }else{ $firstDate = strtotime('-' . $firstDayOfWeek . ' day', $firstDay); } //日歷的最后一個日期 if($lastDayOfWeek == 6){ $lastDate = $lastDay; }elseif($lastDayOfWeek == 7){ $lastDate = strtotime('+6 day', $lastDay); }else{ $lastDate = strtotime('+' . (6 - $lastDayOfWeek) . ' day', $lastDay); } return array( 'days' => $days, 'firstDayOfWeek' => $firstDayOfWeek, 'lastDayOfWeek' => $lastDayOfWeek, 'lastMonthOfLastDay' => $lastMonthOfLastDay, 'firstDate' => $firstDate, 'lastDate' => $lastDate, 'year' => $year, 'month' => $month ); } ?>
Nota:
fungsi mktime() mengembalikan cap masa UNIX tarikh. Fungsi
strtotime() menghuraikan sebarang tarikh atau keterangan masa teks Inggeris ke dalam cap waktu Unix (bilangan saat sejak 1 Januari 1970 00:00:00 GMT).