一个日期类
<?php //创建一个日期类 class Calendar { var $startDay=0; var $startMonth=1; var $dayNames=array("<font color='red' face='courier new'>Sunday</font>", "<font color='green' face='courier new'>Monday", "<font color='green' face='courier new'>Tuesday", "<font color='green' face='courier new'>Wednesday", "<font color='green' face='courier new'>Thursday", "<font color='green' face='courier new'>Friday", "<font color='red' face='courier new'>Saturday"); var $monthNames=array("<font color='maroon' size=4 face='courier new'><b>January</b></font>", "<font color='maroon' size=4 face='courier new'><b>February</b></font>", "<font color='maroon' size=4 face='courier new'><b>March</b></font>", "<font color='maroon' size=4 face='courier new'><b>April</b></font>", "<font color='maroon' size=4 face='courier new'><b>May</b></font>", "<font color='maroon' size=4 face='courier new'><b>June</b></font>", "<font color='maroon' size=4 face='courier new'><b>July</b></font>", "<font color='maroon' size=4 face='courier new'><b>August</b></font>", "<font color='maroon' size=4 face='courier new'><b>September</b></font>", "<font color='maroon' size=4 face='courier new'><b>October</b></font>", "<font color='maroon' size=4 face='courier new'><b>November</b></font>", "<font color='maroon' size=4 face='courier new'><b>December</b></font>"); var $daysInMonth = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); function setDayNames($names) { $this->dayNames=$names; } function getDayNames() { return $this->dayNames; } function setMonthNames($names) { $this->monthNames=$names; } function getMonthNames() { return $this->monthNames; } function setStartDay($day) { $this->startDay=$day; } //获取一个开始日期的函数 function getStartDay() { return $this->startDay; } function setStartMonth($month) { $this->startMonth=$month; } function getStartMonth() { return $this->startMonth; } function getCalendarLink($month,$year) { return ""; } //声明一个获取日期链接的函数 function getDateLink($day,$month,$year) { $link="counter.php?day=$day&month=$month&year=$year&fromcounter=1"; return "$link"; } //设置日期链接 function getCurrentMonthView() { $d=getdate(time()); return $this->getMonthView($d["mon"],$d["year"]); } //获取当前年份 function getCurrentYearView() { $d=getdate(time()); return $this->getYearView($d["year"]); } //声明一个获取指定年,月的函数 function getMonthView($month,$year) { return $this->getMonthHTML($month,$year); } //声明一个获取指定年的月份信息的函数 function getYearView($year) { return $this->getYearHTML($year); } //获取每月的天数 function getDaysInMonth($month,$year) { if($month<1 || $month>12) { return 0; } $d=$this->daysInMonth[$month-1]; if($month==2) { if($year%4==0) { if($year%100==0) { if($year%400==0) { $d=29; } } else { $d=29; } } } return $d; } //声明一个获取月份的getMonthHTML函数 function getMonthHTML($m,$y,$showYear=1) { $s=""; $a=$this->adjustDate($m,$y); $month=$a[0]; $year=$a[1]; $daysInMonth=$this->getDaysInMonth($month,$year); $date=getdate(mktime(12,0,0,$month,1,$year)); $first=$date['wday']; $monthName=$this->monthNames[$month-1]; $prev=$this->adjustDate($month-1,$year); $next=$this->adjustDate($month+1,$year); if($showYear==1) { $prevMonth=$this->getCalendarLink($prev[0],$prev[1]); $nextMonth=$this->getCalendarLink($next[0],$next[1]); } else { $prevMonth=""; $nextMonth=""; } $header=$monthName.(($showYear>0) ? " <font color='orange'><b>".$year : "</b></font>"); $s.="<table class='calendar' border=4 cellspacing=4 cellpadding=4 align=center bordercolor=blue"; $s.="<tr>"; $s.="<td align='center' valign='top'>".(($prevMonth=="") ? " " : "<a href='$prevMonth'><<</a>")."</td>"; $s.="<td align='center' valign='center' class='calendarHeader' colspan='5'>$header</td>"; $s.="<td align='center' valign='top'>".(($nextMonth=="") ? " " : "<a href='$nextMonth'>>></a>")."</td>"; $s.="</tr>"; $s.="<tr>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay)%7]."</td>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay+1)%7]."</td>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay+2)%7]."</td>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay+3)%7]."</td>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay+4)%7]."</td>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay+5)%7]."</td>"; $s.="<td align='center' width=70 class='calendarHeader'>".$this->dayNames[($this->startDay+6)%7]."</td>"; $s.="</tr>"; /********************************有些不解*************************************************/ $d=$this->startDay+1-$first; while($d>1) { $d-=7; } $today=getdate(time()); while($d<=$daysInMonth) { $s.="<tr>"; for($i=0;$i<7;$i++) { $class=($year==$today['year'] && $month==$today['mon'] && $d==$today['mday']) ? "calenderToday" : "calendar"; $s.="<td class='$class' align='center'>"; if($d>0 && $d<=$daysInMonth) { $link=$this->getDateLink($d,$month,$year); $mtime=mktime(); $dnow=date("d",$mtime); $mnow=date("m",$mtime); if($dnow==$d && $mnow==$month) { $s.=(($link=="") ? $d : "<b> <a href='$link'><font face='courier new' color='red'>$d</font></a></b>"); } else { $s.=(($link=="") ? $d : "<a href='$link'> <font face='courier new' color='blue'>$d</font></a>"); } } else { $s.=" "; } $s.="</td>"; $d++; } $s.="</tr>"; } /***************************************************************************************/ $s.="</table>"; return $s; } //声明一个获取年份的HTML function getYearHTML($year) { $s=""; $prev=$this->getCalendarLink(0,$year-1); $next=$this->getCalendarLink(0,$year+1); $s.="<table class='calendar' border='1'>"; $s.="<tr>"; $s.="<td align='center' valign='top'>".(($prev=="") ? " " : "<a href='$prev'><<</a>")."</td>"; $s.="<td class='calendarHeader' vlign='top' align='center'>".(($this->startMonth>1) ? $year."-".($year+1) : $year)."</td>"; $s.="<td align='center' valign='top'>".(($next=="") ? " " : "<a href='$next'>>></a>")."</td>"; $s.="</tr>"; $s.="<tr>"; $s.="<td class='calendar' valign='top'>".$this->getMonthHTML(0+$this->startMonth,$year,0)." </td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(1 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(2 + $this->startMonth, $year, 0) ."</td>"; $s .= "</tr>"; $s .= "<tr>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(3 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(4 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(5 + $this->startMonth, $year, 0) ."</td>"; $s .= "</tr>"; $s .= "<tr>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(6 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(7 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(8 + $this->startMonth, $year, 0) ."</td>"; $s .= "</tr>"; $s .= "<tr>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(9 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(10 + $this->startMonth, $year, 0) ."</td>"; $s .= "<td class=\"calendar\" valign=\"top\">" . $this->getMonthHTML(11 + $this->startMonth, $year, 0) ."</td>"; $s .= "</tr>"; $s .= "</table>"; return $s; } //声明一个日期调整函数 function adjustDate($month,$year) { $a=array(); $a[0]=$month; $a[1]=$year; while($a[0]>12) { $a[0]-=12; $a[1]++; } while($a[0]<=0) { $a[0]+=12; $a[1]--; } return $a; } } class MyCalendar extends Calendar { function getCalendarLink($month,$year) { $s=getenv('SCRIPT_NAME'); //相当于$_SERVER['SCRIPT_NAME'] return "$s?month=$month&year=$year"; } } ?>
로그인 후 복사
以上就是一个日期类的内容,更多相关内容请关注PHP中文网(www.php.cn)!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
Repo : 팀원을 부활시키는 방법
1 몇 달 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 파일 저장 위치 : 어디에 있고 그것을 보호하는 방법은 무엇입니까?
3 몇 주 전
By DDD

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7338
9


자바 튜토리얼
1627
14


Cakephp 튜토리얼
1352
46


라라벨 튜토리얼
1265
25


PHP 튜토리얼
1210
29

