>백엔드 개발 >PHP 튜토리얼 >PHP 달력 클래스 달력 제어

PHP 달력 클래스 달력 제어

WBOY
WBOY원래의
2016-07-25 08:46:071287검색
";
  • }
  • 공용 함수 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\">" . $this->getTDHref() . "";
  • }
  • 공개 함수 getTDWeekend() {
  • $class = '';
  • $td = "td";
  • if ($ this->isCurrent()) {
  • $class = '오늘';
  • }
  • $this->retunrhtml .= "<$td class=\"$class\">" . $this->getTDHref() . "";
  • }
  • 보호 함수 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() . "";
  • }
  • }
  • 复主代码

  • PHP
    1. class CalendarForm {
    2. protected $year;
    3. protected $month;
    4. protected $day;
    5. protected $weekend;
    6. protected $currentdate;
    7. protected $dayofmonth;
    8. protected $day_count;
    9. protected $num;
    10. protected $week = array();
    11. protected $retunrhtml = " ";
    12. 함수 __construct($year, $month) {
    13. $this->makeWeeks($year, $month);
    14. }
    15. 공개 함수 setYearMonth($ 년, $월) {
    16. $this->year = $year;
    17. $this->month = $month;
    18. }
    19. 비공개 함수 ResetDayCount() {
    20. $this->day_count = 1;
    21. }
    22. 비공개 함수 setFirstWeek() {
    23. $this->num = 0;
    24. }
    25. 공개 함수 getDayOfMonth($year, $month) {
    26. $this->resetDayCount();
    27. return date('t', mktime(0, 0, 0, $month, $this->day_count, $ year));
    28. }
    29. 비공개 함수 setDayOfMonth($year, $month) {
    30. $this->dayofmonth = $this->getDayOfMonth($year, $month);
    31. }
    32. 비공개 함수 getDayOfWeek() {
    33. 반환 날짜('w', mktime(0, 0, 0, $this->month, $this->day_count, $this- >연도));
    34. }
    35. 공개 함수 getNextMonth() {
    36. 반환 날짜('m', mktime(0, 0, 0, $this->month, 28, $ 올해->연도) 432000);
    37. }
    38. 공개 함수 getNextYear() {
    39. 반환 날짜('Y', mktime(0, 0, 0, $this->월, 28, $this->year) 432000);
    40. }
    41. public function getPrevMonth() {
    42. return date('m', mktime(0, 0, 0, $this-> ;월, 1, $this->연도) - 432000);
    43. }
    44. 공개 함수 getPrevYear() {
    45. 반환 날짜('Y', mktime(0, 0, 0, $this->month, 1, $this->year) - 432000);
    46. }
    47. 비공개 함수 makeWeeks($year, $month) {
    48. $this- >setYearMonth($year, $month);
    49. $this->setDayOfMonth($this->year, $this->month);
    50. $this->setFirstWeek();
    51. $this->num = 0;
    52. for ($i = 0; $i < 7; $i ) {
    53. $dayofweek = $this->getDayOfWeek();
    54. $dayofweek = $dayofweek - 1;
    55. if ($dayofweek == -1) {
    56. $dayofweek = 6 ;
    57. }
    58. if ($dayofweek == $i) {
    59. $this->week[$this->num][$i] = $this->day_count;
    60. $this->day_count ;
    61. }
    62. else {
    63. $this->week[$this->num][$i] = "";
    64. }
    65. }
    66. while (TRUE) {
    67. $this->num ;
    68. for ($i = 0; $i < 7; $i ) {
    69. $this->week[$this- >num][$i] = $this->day_count;
    70. $this->day_count ;
    71. if ($this->day_count > $this->dayofmonth) {
    72. break;
    73. }
    74. }
    75. if ($this->day_count > $this->dayofmonth) {
    76. break;
    77. }
    78. }
    79. }
    80. 공용 함수 getCalendarHeader() {
    81. $this->retunrhtml =
    82. "" .
    83. "<본체>" .
    84. "
    85. " .
    86. "
    87. " .
    88. "
    89. " .
    90. "
    91. " .
    92. "
    93. " .
    94. "
    95. " .
    96. "
    97. " .
    98. "
    99. " .
    100. "
    101. " .
    102. "
    103. ";
    104. }
    105. 공개 함수 getCalendarFooter() {
    106. $this->retunrhtml .= "
    107. " . $이번->월 . "/" . $올해->연도 . "
      월요일 화요일 수요일 목요일 금요일 토요일 일요일
      ";
    108. }
    109. 공용 함수 getBeginTR() {
    110. $this->retunrhtml .= "
    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.