php 日历类 日历控件
发布时间:2020-05-25 06:47:04 所属栏目:PHP 来源:互联网
导读:php 日历类 日历控件
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 <?php
class CalendarForm {
protected $year;
protected $month;
protected $day;
protected $weekend;
protected $currentdate;
protected $dayofmonth;
protected $day_count;
protected $num;
protected $week = array();
protected $retunrhtml = "";
function __construct($year,$month) {
$this->makeWeeks($year,$month);
}
public function setYearMonth($year,$month) {
$this->year = $year;
$this->month = $month;
}
private function resetDayCount() {
$this->day_count = 1;
}
private function setFirstWeek() {
$this->num = 0;
}
public function getDayOfMonth($year,$month) {
$this->resetDayCount();
return date('t',mktime(0,$month,$this->day_count,$year));
}
private function setDayOfMonth($year,$month) {
$this->dayofmonth = $this->getDayOfMonth($year,$month);
}
private function getDayOfWeek() {
return date('w',$this->month,$this->year));
}
public function getNextMonth() {
return date('m',28,$this->year) + 432000);
}
public function getNextYear() {
return date('Y',$this->year) + 432000);
}
public function getPrevMonth() {
return date('m',1,$this->year) - 432000);
}
public function getPrevYear() {
return date('Y',$this->year) - 432000);
}
private function 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;
}
}
}
public function getCalendarHeader() {
$this->retunrhtml =
"<table class="calendar-table">" .
"<tbody>" .
"<tr><th colspan="7">" . $this->month . "/" . $this->year . "</th></tr>" .
"<tr>" .
"<th style="text-align: center;">Monday</th>" .
"<th style="text-align: center;">Tuesday</th>" .
"<th style="text-align: center;">Wednesday</th>" .
"<th style="text-align: center;">Thursday</th>" .
"<th style="text-align: center;">Friday</th>" .
"<th style="text-align: center;">Saturday</th>" .
"<th style="text-align: center;">Sunday</th>" .
"</tr>";
}
public function getCalendarFooter() {
$this->retunrhtml .= "</tbody></table>";
}
public function getBeginTR() {
$this->retunrhtml .= "<tr>";
}
public function getEndTR() {
$this->retunrhtml .= "</tr>";
}
protected function getDay() {
return $this->day;
}
protected function getMonth() {
return $this->month;
}
protected function getYear() {
return $this->year;
}
protected function isWeekend() {
return $this->weekend;
}
protected function isCurrent() {
return $this->currentdate;
}
public function getTDHref() {
return $this->getDay();
}
public function getTD() {
$class = '';
$td = "td";
if ($this->isCurrent()) {
$class = 'today';
}
$this->retunrhtml .= "<$td class="$class">" . $this->getTDHref() . "</$td>";
}
public function getTDWeekend() {
$class = '';
$td = "td";
if ($this->isCurrent()) {
$class = 'today';
}
$this->retunrhtml .= "<$td class="$class">" . $this->getTDHref() . "</$td>";
}
protected function makeCodeMonth($year,$month);
$this->getCalendarHeader();
for ($i = 0; $i < count($this->week); $i++) {
$this->getBeginTR();
for ($j = 0; $j < 7; $j++) {
if (!empty($this->week[$i][$j])) {
$this->day = $this->week[$i][$j];
$this->currentdate = 0;
if ($this->year == date('Y') && $this->month == date('m') && $this->day == date('j')) {
$this->currentdate = 1;
}
if ($j == 5 || $j == 6) {
$this->weekend = 1;
$this->getTDWeekend();
}
else {
$this->weekend = 0;
$this->getTD();
}
}
else {
$this->retunrhtml .= "<td> </td>";
}
}
$this->getEndTR();
}
$this->getCalendarFooter();
}
public function getCodeMonth() {
$this->makeCodeMonth($this->year,$this->month);
return $this->retunrhtml;
}
public function showCodeMonth() {
echo $this->getCodeMonth();
}
}
class TechCalendarForm extends CalendarForm {
public function getTDHref() {
if ($this->isWeekend()) {
$font = "<font color="#FF3F4F">";
}
else {
$font = "<font color="#4A5B6C">";
}
return "<a href="" . $_SERVER["PHP_SELF"] . "?action=showdate&date=" . parent::getYear() . "-" . parent::getMonth() . "-" . parent::getDay() . "">" . $font . parent::getDay() . "</font></a>";
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
