class Calendar{ protected $time; protected $timezone; public $isLeapYear; public function __construct($year) { $this->timezone = new DateTimeZone('Asia/Bangkok'); $this->time = DateTime::createFromFormat('Y-n-j', $year.'-1-1', $this->timezone); $this->isLeapYear = checkdate(2, 29, $this->time->format('Y')); } protected function getMonthFirstDay($month){ $format = sprintf('%d-%d-1',$this->time->format('Y'),$month); return DateTime::createFromFormat('Y-n-j', $format, $this->timezone); } public function getMonthDays($month){ $interval = DateInterval::createFromDateString('+1day'); $time = $this->getMonthFirstDay($month); $a = array(); while($time->format('n') == $month){ $a[] = clone $time; $time->add($interval); } return $a; } public static function monthName($month){ $a = array(1=>'มกราคม','กุมภาพันธ์','มีนาคม','เมษายน', 'พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน' ,'ตุลาคม','พฤศจิกายน','ธันวาคม'); return $a[$month]; } public static function dayName(DateTime $date){ $a = array('อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'); return $a[$date->format('w')]; } } header('Content-type:text/html;charset=utf-8'); #header('Content-type:text/html;charset=tis-620'); $c = new Calendar(2012); echo '<h1>Calendar 2012</h1>'; foreach(range(1,12) as $month){ echo '<h2>',Calendar::monthName($month),'</h2>'; foreach($c->getMonthDays($month) as $d){ echo Calendar::dayName($d),' ',$d->format('j'),'<','br/>'; } }
วันศุกร์ที่ 7 กันยายน พ.ศ. 2555
PHP Calendar Class
ป้ายกำกับ:
php
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น