사용 예: $cal = new CalendarForm(2012, 5); $cal->showCodeMonth();
- class CalendarForm {
- protected $year;
- protected $month;
- protected $day;
- protected $weekend;
- protected $currentdate;
- protected $dayofmonth;
- protected $day_count;
- protected $num;
- protected $week = array();
- protected $retunrhtml = " ";
- 함수 __construct($year, $month) {
- $this->makeWeeks($year, $month);
- }
-
- 공개 함수 setYearMonth($ 년, $월) {
- $this->year = $year;
- $this->month = $month;
- }
-
- 비공개 함수 ResetDayCount() {
- $this->day_count = 1;
- }
-
- 비공개 함수 setFirstWeek() {
- $this->num = 0;
- }
-
- 공개 함수 getDayOfMonth($year, $month) {
- $this->resetDayCount();
- return date('t', mktime(0, 0, 0, $month, $this->day_count, $ year));
- }
-
- 비공개 함수 setDayOfMonth($year, $month) {
- $this->dayofmonth = $this->getDayOfMonth($year, $month);
- }
-
- 비공개 함수 getDayOfWeek() {
- 반환 날짜('w', mktime(0, 0, 0, $this->month, $this->day_count, $this- >연도));
- }
-
- 공개 함수 getNextMonth() {
- 반환 날짜('m', mktime(0, 0, 0, $this->month, 28, $ 올해->연도) 432000);
- }
-
- 공개 함수 getNextYear() {
- 반환 날짜('Y', mktime(0, 0, 0, $this->월, 28, $this->year) 432000);
- }
-
- public function getPrevMonth() {
- return date('m', mktime(0, 0, 0, $this-> ;월, 1, $this->연도) - 432000);
- }
-
- 공개 함수 getPrevYear() {
- 반환 날짜('Y', mktime(0, 0, 0, $this->month, 1, $this->year) - 432000);
- }
-
- 비공개 함수 makeWeeks($year, $month) {
-
- $this- >setYearMonth($year, $month);
- $this->setDayOfMonth($this->year, $this->month);
- $this->setFirstWeek();
-
- $this->num = 0;
- for ($i = 0; $i < 7; $i ) {
- $dayofweek = $this->getDayOfWeek();
- $dayofweek = $dayofweek - 1;
- if ($dayofweek == -1) {
- $dayofweek = 6 ;
- }
- if ($dayofweek == $i) {
- $this->week[$this->num][$i] = $this->day_count;
- $this->day_count ;
- }
- else {
- $this->week[$this->num][$i] = "";
- }
- }
- while (TRUE) {
- $this->num ;
- for ($i = 0; $i < 7; $i ) {
- $this->week[$this- >num][$i] = $this->day_count;
- $this->day_count ;
- if ($this->day_count > $this->dayofmonth) {
- break;
- }
- }
- if ($this->day_count > $this->dayofmonth) {
- break;
- }
- }
-
- }
-
- 공개 함수 getCalendarHeader() {
- $this->retunrhtml =
- "
" .
- "<본체>" .
- "
" . $이번->월 . "/" . $올해->연도 . "일> | " .
- "
" .
- "
월요일 | " .
- "
화요일 | " .
- "
수요일 | " .
- "
목요일 | " .
- "
금요일 | " .
- "
토요일 | " .
- "
일요일 | " .
- "
";
- }
-
- 공개 함수 getCalendarFooter() {
- $this->retunrhtml .= "
";
- }
-
- 공용 함수 getBeginTR() {
- $this->retunrhtml .= "
";
- }
-
- 공용 함수 getEndTR( ) {
- $this->retunrhtml .= "
";
- }
-
- 보호 함수 getDay() {
- return $this->day;
- }
-
- 보호 함수 getMonth() {
- return $this->month;
- }
-
- 보호 함수 getYear() {
- return $this-> 년;
- }
-
- 보호 함수 isWeekend() {
- return $this->weekend;
- }
-
- 보호 함수 isCurrent() {
- return $this->currentdate;
- }
-
- 공용 함수 getTDHref() {
- return $this->getDay();
- }
-
- 공용 함수 getTD() {
- $class = '';
- $td = "td";
- if ($this->isCurrent()) {
- $class = '오늘';
- }
- $this-> ;retunrhtml .= "<$td class="$class">" . $this->getTDHref() . "$td>";
- }
-
- 공개 함수 getTDWeekend() {
- $class = '';
- $td = "td";
- if ($ this->isCurrent()) {
- $class = '오늘';
- }
- $this->retunrhtml .= "<$td class="$class">" . $this->getTDHref() . "$td>";
- }
-
- 보호 함수 makeCodeMonth($year, $month) {
- $this->makeWeeks($year, $month);
- $this->getCalendarHeader();
- for ($i = 0; $i < count($this->week); $i ) {
- $this->getBeginTR();
- for ($j = 0; $j
- if (!empty($this->week[$i][$j])) {
- $this->day = $this->week[$i][$j];
- $this->currentdate = 0;
- if ($this->year == date(' Y') && $this->월 == 날짜('m') && $this->day == 날짜('j')) {
- $this->currentdate = 1;
- }
- if ($j == 5 || $j == 6) {
- $this->weekend = 1;
- $this->getTDWeekend();
- }
- else {
- $this->weekend = 0;
- $this->getTD();
- }
-
- }
- else {
- $this-> ;retunrhtml .= "
| ";
- }
-
- }
- $this->getEndTR();
- }
- $this ->getCalendarFooter();
- }
-
- 공개 함수 getCodeMonth() {
- $this->makeCodeMonth($this->year, $this->month);
- return $this->retunrhtml;
- }
-
- 공개 함수 showCodeMonth() {
- echo $this->getCodeMonth();
- }
-
- }
-
- class TechCalendarForm은 CalendarForm을 확장합니다. >";
- }
- else {
- $font = "";
- }
- return "" . $font . parent::getDay() . "";
- }
- }
-
-
- 复主代码
|