PHP完整的日历类(CLASS)_php实例

复制代码 代码如下:

<?php 
class Calendar{ 
/* 
* www.jb51.net修正版
*/ 
var $YEAR,$MONTH,$DAY; 
var $WEEK=array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); 
var $_MONTH=array( 
"01"=>"一月", 
"02"=>"二月", 
"03"=>"三月", 
"04"=>"四月", 
"05"=>"五月", 
"06"=>"六月", 
"07"=>"七月", 
"08"=>"八月", 
"09"=>"九月", 
"10"=>"十月", 
"11"=>"十一月", 
"12"=>"十二月" 
); 
//设置年份 
function setYear($year){ 
$this->YEAR=$year; 

//获得年份 
function getYear(){ 
return $this->YEAR; 

//设置月份 
function setMonth($month){ 
$this->MONTH=$month; 

//获得月份 
function getMonth(){ 
return $this->MONTH; 

//设置日期 
function setDay($day){ 
$this->DAY=$day; 

//获得日期 
function getDay(){ 
return $this->DAY; 

//打印日历 
function OUT(){ 
$this->_env(); 
$week=$this->getWeek($this->YEAR,$this->MONTH,$this->DAY);//获得日期为星期几 (例如今天为2003-07-18,星期五) 
$fweek=$this->getWeek($this->YEAR,$this->MONTH,1); //获得此月第一天为星期几 
echo "<div style=\"margin:0;border:1 solid black;width:300;font:9pt\"><form action=$_SERVER[PHP_SELF] method=\"post\" style=\"margin:0\"><select name=\"month\" onchange=\"this.form.submit();\">"; 
for($ttmpa=1;$ttmpa<13;$ttmpa++){//打印12个月 
$ttmpb=sprintf("%02d",$ttmpa); 
if(strcmp($ttmpb,$this->MONTH)==0){ 
$select="selected style=\"background-color:#c0c0c0\""; 
}else{ 
$select=""; 

echo "<option value=\".$ttmpb\".$select>".$this->MONTH[$ttmpb]."</option>\r\n"; 

echo " </select> <select name=\"year\" onchange=\"this.form.submit();\">";//打印年份,前后10年 
for($ctmpa=$this->YEAR-10;$ctmpa<$this->YEAR+10;$ctmpa++){ 
if($ctmpa>2037){ 
break; 

if($ctmpa<1970){ 
continue; 

if(strcmp($ctmpa,$this->YEAR)==0){ 
$select="selected style=\"background-color:#c0c0c0\""; 
}else{ 
$select=""; 

echo "<option value=\"$ctmpa\" $select>$ctmpa</option>\r\n"; 

echo "</select> 
</form> 
<table border=0 align=center>"; 
for($Tmpa=0;$Tmpa<count($this->WEEK);$Tmpa++){//打印星期标头 
echo "<td>".$this->WEEK[$Tmpa]; 

for($Tmpb=1;$Tmpb<=date("t",mktime(0,0,0,$this->MONTH,$this->DAY,$this->YEAR));$Tmpb++){//打印所有日期 
if(strcmp($Tmpb,$this->DAY)==0){ //获得当前日期,做标记 
$flag=" bgcolor='#ff0000'"; 
}else{ 
$flag=' bgcolor=#ffffff'; 

if($Tmpb==1){ 
echo "<tr>"; //补充打印 
for($Tmpc=0;$Tmpc<$fweek;$Tmpc++){ 
echo "<td>"; 


if(strcmp($this->getWeek($this->YEAR,$this->MONTH,$Tmpb),0)==0){ 
echo "<tr><td align=center $flag>$Tmpb"; 
}else{ 
echo "<td align=center $flag>$Tmpb"; 


echo "</table></div>"; 

//获得方法内指定的日期的星期数 
function getWeek($year,$month,$day){ 
$week=date("w",mktime(0,0,0,$month,$day,$year));//获得星期 
return $week;//获得星期 

function _env(){ 
if(isset($_POST["month"])){ //有指定月 
$month=$_POST["month"]; 
}else{ 
$month=date("m"); //默认为本月 

if(isset($_POST["year"])){ //有指年 
$year=$_POST["year"]; 
}else{ 
$year=date("Y"); //默认为本年 

$this->setYear($year); 
$this->setMonth($month); 
$this->setDay(date("d")); 


$D=new Calendar; 
$D->OUT(); 
?> 

时间: 2024-08-29 13:15:00

PHP完整的日历类(CLASS)_php实例的相关文章

一个比较不错的PHP日历类分享_php实例

说到对时期和时间的处理,就一定要介绍一下日历程序的编写.但一提起编写日历,大多数人都会认为日历的作用只是为了在页上显示当前的日期,其实日历在我们的开发中有更重要的作用.例如我们开发一个"记事本"就需要通过日历设定日期,还有一些系统中需要按日期去排任务,也需要日历,等等.本例涉及的日期和时间函数并不是很多,都是前面介绍的内容,主要是通过一个日历类的编写,巩固一下前面介绍过的面向对象的语法知识,以及时间函数应用,最主要的是可以提升初学者的思维逻辑和程序设计能力.将日历类Calendar声明

一个经典的PHP验证码类分享_php实例

我们通过PHP的GD库图像处理内容,设计一个验证码类Vcode.将该类声明在文件vcode.class.php中,并通过面向对象的特性将一些实现的细节封装在该类中.只要在创建对象时,为构造方法提供三个参数,包括创建验证码图片的宽度.高度及验证码字母个数,就可以成功创建一个验证码类的对象.该类的声明代码如下所示: <?php class Vcode { private $width; //宽 private $height; //高 private $num; //数量 private $code

个人写的PHP验证码生成类分享_php实例

此验证码类直接拿去就可以用,也可以参考! 其中类成员codestr是生成的验证码字符串: <?php /** * 验证码 */ class Code{ // 1. 定义各个成员 有宽.高.画布.字数.类型.画类型 private $width; //宽度 private $height; //高度 private $num; //验证码字数 private $imgType; //生成图片类型 private $Type; //字串类型 1,2,3 三个选项 1 纯数字 2 纯小写字母 3 大小

一个经典的PHP文件上传类分享_php实例

文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中.帮助开发者在以后的开发中,通过编写几条简单代码就可以实现复杂的文件上传功能.对于基础薄弱的读者,只要会使用本类即可,而对一些喜欢挑战的朋友,可以尝试去读懂它,并能开发一个属于自己的文件上传类. 一.需求分析 要球自定义文件上传类,即在使用非常简便的前提下,又可以完成以下几项功能

PHP分页类集锦_php实例

分页类一 复制代码 代码如下: <?php /** 分页类 修改:Silence Creatdate:2006-5-30 LastModify:2009-5-31 使用方法 $page = new page ( $result, 20 ); //$result为返回记录集数组 ,20为返回每页条数 $index = $page->GetIndexBar () . $page->GetPageInfo (); print_r ( $result ); echo \"<br&

php下实现农历日历的代码_php实例

复制代码 代码如下: php农历日历 <?   ###########################################   #作者: 沈潋(S&S Lab)                      #   #E-mail:shenlian@hotmail.com              #   #web: http://www.focus-2000.com           #   #                                         #

php csv操作类代码_php实例

请点击后面地址下载:csv操作类 使用说明如下: 1.生成csv文件 复制代码 代码如下: require "./include/csvdatafile.php"; set_time_limit(200); header("Content-type: application/RFC822"); header('Content-Disposition: attachment; filename=export.csv'); $arr_export_titles = ar

codeigniter中测试通过的分页类示例_php实例

通用分页类(以Codeigniter测试) page_list.php 复制代码 代码如下: <?php if( ! defined('BASEPATH')) die('No Access'); /** * 分页类 */class Page_list {     /**     * 总数据     * @var int     */    private $total;    /**     * 每页显示数据     * @var int     */    private $size;   

PHP 图片水印类代码_php实例

支持文字水印.图片水印 支持水印的位置随机或固定(九宫格) 水印透明度设置(图片水印和文字水印都支持) 文字水印的字体.颜色.大小设置 图片水印的背景透明 复制代码 代码如下: <?php /** * 加水印类,支持文字图片水印的透明度设置.水印图片背景透明. * 日期:2011-09-27 * 作者:www.jb51.net * 使用: * $obj = new WaterMask($imgFileName); //实例化对象 * $obj->$waterType = 1; //类型:0为文