在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

2個日期類

2個日期類

更新時間:2022-05-04 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

<?
/**
這是公歷和農(nóng)歷類的定義,由于php的日期計算限制,所以只能計算1970-1938之間的時間
農(nóng)歷類的計算方法使用了林洵賢先生的算法,在此表示感謝!在joy Asp可以找到林先生的大作(javascript)
*/

/**
* 日期類
* 本對象套用JavaScript的日期對象的方法
* 設(shè)置$mode屬性,可兼容JavaScript日期對象
*/
class Date {
var $time = 0;
var $mode = 0;// 本屬性為與JavaScript兼容而設(shè),$mode=1為JavaScript方式
var $datemode = "Y-m-d H:i:s";// 日期格式 "Y-m-d H:i:s",可自行設(shè)定
function Date($t=0) {
if($t == 0)
$this->time = time();
}
/**
 * 返回從GMT時間1970年1月1日0時開始的毫秒數(shù)
 */
function getTime() {
$temp = gettimeofday();
return $temp[sec]*1000+round($temp[usec]/1000);
}
/**
 * 返回年份
 */
function getYear() {
$temp = getdate($this->time);
return $temp[year];
}
/**
 * 返回月份
 */
function getMonth() {
$temp = getdate($this->time);
return $temp[mon]-$this->mode;
}
/**
 * 返回日期
 */
function getDate() {
$temp = getdate($this->time);
return $temp[mday];
}
/**
 * 返回星期
 */
function getDay() {
$temp = getdate($this->time);
return $temp[wday]-$this->mode;
}
/**
 * 返回小時
 */
function getHours() {
$temp = getdate($this->time);
return $temp[hours];
}
/**
 * 返回分
 */
function getMinutes() {
$temp = getdate($this->time);
return $temp[minutes];
}
/**
 * 返回秒
 */
function getSeconds() {
$temp = getdate($this->time);
return $temp[seconds];
}
/**
 * 設(shè)定年份
 * php 4.0.6 year 1970 -- 2038
 */
function setYear($val) {
$temp = getdate($this->time);
$temp[year] = $val;
$this->set_time($temp);
}
/**
 * 設(shè)定月份
 */
function setMonth($val) {
$temp = getdate($this->time);
$temp[mon] = $val+$this->mode;
$this->set_time($temp);
}
/**
 * 設(shè)定日期
 */
function setDate($val) {
$temp = getdate($this->time);
$temp[mday] = $val;
$this->set_time($temp);
}
/**
 * 設(shè)定星期
 */
function setDay($val) {
$temp = getdate($this->time);
$temp[wday] = $val+$this->mode;
$this->set_time($temp);
}
/**
 * 設(shè)定小時
 */
function setHours($val) {
$temp = getdate($this->time);
$temp[hours] = $val;
$this->set_time($temp);
}
/**
 * 設(shè)定分
 */
function setMinutes($val) {
$temp = getdate($this->time);
$temp[minutes] = $val;
$this->set_time($temp);
}
/**
 * 設(shè)定秒
 */
function setSeconds($val) {
$temp = getdate($this->time);
$temp[seconds] = $val;
$this->set_time($temp);
}
/**
 * 返回系統(tǒng)格式的字符串
 */
function toLocaleString() {
return date($this->datemode,$this->time);
}
/**
 * 使用GTM時間創(chuàng)建一個日期值
 */
function UTC($year,$mon,$mday,$hours=0,$minutes=0,$seconds=0) {
$this->time = mktime($hours,$minutes,$seconds,$mon,$mday,$year);
return $this->time;
}
/**
 * 等價于DateAdd(interval,number,date)
 * 返回已添加指定時間間隔的日期。
 * Inetrval為表示要添加的時間間隔字符串表達(dá)式,例如分或天
 * number為表示要添加的時間間隔的個數(shù)的數(shù)值表達(dá)式
 * Date表示日期
 *
 * Interval(時間間隔字符串表達(dá)式)可以是以下任意值:
 *yyyy year年
 *q Quarter季度
 *m Month月
 *y Day of year一年的數(shù)
 *d Day天
 *w Weekday一周的天數(shù)
 *ww Week of year周
 *h Hour小時
 *n Minute分
 *s Second秒
 *w、y和d的作用是完全一樣的,即在目前的日期上加一天,q加3個月,ww加7天。
 */
function Add($interval, $number, $date) {
$date = Date::get_time($date);
$date_time_array = getdate($date);
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
switch ($interval) {
case "yyyy": $year +=$number; break;
case "q": $month +=($number*3); break;
case "m": $month +=$number; break;
case "y":
case "d":
case "w": $day+=$number; break;
case "ww": $day+=($number*7); break;
case "h": $hours+=$number; break;
case "n": $minutes+=$number; break;
case "s": $seconds+=$number; break;
}
$temptime = mktime($hours ,$minutes, $seconds,$month ,$day, $year);
return $temptime;
}
/**
 * 等價于DateDiff(interval,date1,date2)
 * 返回兩個日期之間的時間間隔
 * intervals(時間間隔字符串表達(dá)式)可以是以下任意值:
 * w周
 * d天
 * h小時
 * n分鐘
 * s秒
 */
function Diff($interval, $date1,$date2) {
// 得到兩日期之間間隔的秒數(shù)
$timedifference = Date::get_time($date2) - Date::get_time($date1);
switch ($interval) {
case "w": $retval = bcdiv($timedifference ,604800); break;
case "d": $retval = bcdiv( $timedifference,86400); break;
case "h": $retval = bcdiv ($timedifference,3600); break;
case "n": $retval = bcdiv( $timedifference,60); break;
case "s": $retval = $timedifference; break;
}
return $retval;
}

/**
 * 輸出,根據(jù)需要直接修改本函數(shù)或在派生類中重寫本函數(shù)
 */
function display() {
$nStr = array('日','一','二','三','四','五','六');
echo sprintf("%4d年%2d月%2d日 星期%s<br>",$this->getYear(),$this->getMonth(),$this->getDate(),$nStr[$this->getDay()%7]);
}
/**
 * 工作函數(shù)
 */
function set_time(&$ar) {
$this->time = mktime($ar[hours],$ar[minutes],$ar[seconds],$ar[mon],$ar[mday],$ar[year]);
}
/**
 * 轉(zhuǎn)換為UNIX時間戳
 */
function get_time($d) {
if(is_numeric($d))
return $d;
else {
if(! is_string($d)) return 0;
if(ereg(":",$d)) {
$buf = split(" +",$d);
$year = split("[-/]",$buf[0]);
$hour = split(":",$buf[1]);
if(eregi("pm",$buf[2]))
$hour[0] += 12;
return mktime($hour[0],$hour[1],$hour[2],$year[1],$year[2],$year[0]);
}else {
$year = split("[-/]",$d);
return mktime(0,0,0,$year[1],$year[2],$year[0]);
}
}
}
} // 日期類定義結(jié)束
?>

<?
/**
* 農(nóng)歷類
*/
class Lunar {
var $year;
var $month;
var $day;
var $isLeap;
var $yearCyl;
var $dayCyl;
var $monCyl;
var $time;
var $lunarInfo = array(
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,
0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,
0x14b63);

/**
 * 傳回農(nóng)歷 y年的總天數(shù)
 */
function lYearDays($y) {
$sum = 348;
for($i=0x8000; $i>0x8; $i>>=1)
$sum += ($this->lunarInfo[$y-1900] & $i)? 1: 0;
return $sum+$this->leapDays($y);
}
/**
 * 傳回農(nóng)歷 y年閏月的天數(shù)
 */
function leapDays($y) {
if($this->leapMonth($y))
return ($this->lunarInfo[$y-1900] & 0x10000)? 30: 29;
else return 0;
}
/**
 * 傳回農(nóng)歷 y年閏哪個月 1-12 , 沒閏傳回 0
 */
function leapMonth($y) {
return $this->lunarInfo[$y-1900] & 0xf;
}
/**
 * 傳回農(nóng)歷 y年m月的總天數(shù)
 */
function monthDays($y,$m) {
return ($this->lunarInfo[$y-1900] & (0x10000>>$m))? 30: 29;
}
/**
 * 創(chuàng)建農(nóng)歷日期對象
 */
function Lunar($objDate,$month=1,$day=1) {
$leap=0;
$temp=0;
if(is_object($objDate))
$this->time = mktime(0,0,0,$objDate->getMonth(),$objDate->getDate(),$objDate->getYear());
else {
$year = $objDate;
$this->time = mktime(0,0,0,$month,$day,$year);
if($year < 1970) {
return;
$temp = 0;
for($i=1970; $i>$year; $i--) {
$temp = $this->lYearDays($i);
$offset -= $temp;
}
}
}
$offset = round($this->time/86400+25537);

$this->dayCyl = $offset + 40;
$this->monCyl = 14;

for($i=1900; $i<$year && $offset>0; $i++) {
$temp = $this->lYearDays($i);
$offset -= $temp;
$this->monCyl += 12;
}

if($offset<0) {
$offset += $temp;
$i--;
$this->monCyl -= 12;
}

$this->year = $i;
$this->yearCyl = $i-1864;
$leap = $this->leapMonth($i); //閏哪個月

$this->isLeap = false;
for($i=1; $i<13 && $offset>0; $i++) {
//閏月
if($leap>0 && $i==($leap+1) && $this->isLeap==false) {
$i--;
$this->isLeap = true;
$temp = $this->leapDays($this->year);
}else {
$temp = $this->monthDays($this->year, $i);
}

//解除閏月
if($this->isLeap==true && $i==($leap+1))
$this->isLeap = false;

$offset -= $temp;
if($this->isLeap == false)
$this->monCyl ++;
}

if($offset==0 && $leap>0 && $i==$leap+1)
if($this->isLeap)
$this->isLeap = false;
else {
$this->isLeap = true;
$i--;
$this->monCyl--;
}

if($offset<0) {
$offset += $temp;
$i--;
$this->monCyl--;
}

$this->month = $i;
$this->day = $offset + 1;
}

function cyclical($num) {
$Gan = Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
$Zhi = Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
return $Gan[$num%10].$Zhi[$num%12];
}
/**
 * 輸出,根據(jù)需要直接修改本函數(shù)或在派生類中重寫本函數(shù)
 */
function display() {
$nStr = array(' ','正','二','三','四','五','六','七','八','九','十','十一','臘');
echo sprintf("農(nóng)歷 %s%s月%s<br>",($this->isLeap?"閏":""),$nStr[$this->month],$this->cDay($this->day));
echo sprintf("%s年 %s月 %s日",$this->cyclical($this->yearCyl),$this->cyclical($this->monCyl),$this->cyclical($this->dayCyl));
}
/**
 * 中文日期
 */
function cDay($d) {
$nStr1 = array('日','一','二','三','四','五','六','七','八','九','十');
$nStr2 = array('初','十','廿','卅',' ');

switch($d) {
case 10:
$s = '初十';
break;
case 20:
$s = '二十';
break;
case 30:
$s = '三十';
break;
default :
$s = $nStr2[floor($d/10)];
$s .= $nStr1[$d%10];
}
return $s;
}
}// 農(nóng)歷類定義結(jié)束
?>

<?
//測試?yán)?br>

$d = new Date;
echo "<br>現(xiàn)在是:";
$d->display();

$d->setYear(2037);
echo "<br>現(xiàn)在是:";
echo $d->getYear()."年";
echo $d->getMonth()."月";
echo $d->getDate()."日";
echo " 星期".$d->getDay()." ";
echo $d->getHours()."時";
echo $d->getMinutes()."分";
echo $d->getSeconds()."秒<br>";

$d->UTC(1998,10,2,22,0,8);
echo $d->toLocaleString()."<br>";

$d = new Date;
$ld = new Lunar($d);
$d->display();
$ld->display();
$d->UTC(1998,10,2,22,0,8);
$ld = new Lunar($d);
$d->display();
$ld->display();
$ld = new Lunar(2002,2,12);
$ld->display();

echo __LINE__."<BR>";

$d1 = "2002-01-11";
$d2 = date("Y-m-d",$d->add("d",35,$d1));

echo $d1."的". Date::diff("d",$d1,$d2)."天后是$d2<br>";
echo $d1."的10天前是".date("Y-m-d",Date::add("d",-10,$d1))."<br>";
$d3 = date("Y/m/d H:i:s");
echo "現(xiàn)在是".$d3."距離2002/2/12 12:59:59還有".Date::diff("s",$d3,"2002/2/12 12:59:59")."秒<br>";
?>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 免费日韩中文字幕| 91网站在线观看免费| 国产69精品久久久久久久| 91手机视频在线| 亚洲精品手机在线观看| 九色91popny| 国产av人人夜夜澡人人爽| 日本在线观看a| 久久午夜夜伦鲁鲁一区二区| 国产男女无遮挡| 无人在线观看的免费高清视频| 欧美深夜福利视频| 国产成人无码一二三区视频| 色欲av无码一区二区人妻| 国产一区二区三区精彩视频| 黑鬼大战白妞高潮喷白浆| 国产日产欧美视频| 免费一区二区三区在线观看| 天堂在线精品视频| 国产精品88久久久久久妇女 | av免费一区二区| 777视频在线| 日本xxxxx18| 国产二区视频在线| 熟妇人妻无乱码中文字幕真矢织江| 92看片淫黄大片一级| 亚洲高清在线免费观看| 香蕉视频xxxx| 成人在线免费在线观看| 国产又大又黄又猛| 久久av高潮av| 亚洲一二三区av| a级黄色片免费| 爱情岛论坛vip永久入口| 久久精品国产精品亚洲精品色 | 国产原创popny丨九色| av观看免费在线| 国产又粗又猛大又黄又爽| 男人添女人荫蒂免费视频| 亚洲污视频在线观看| 欧美性视频在线播放| 人妻内射一区二区在线视频| 日韩精品在线播放视频| 国产午夜伦鲁鲁| 99热一区二区三区| 国产精品亚洲αv天堂无码| 爱爱爱视频网站| 国产精品视频黄色| 国产免费黄色小视频| 色18美女社区| 亚洲高清在线免费观看| 人妻少妇精品无码专区二区| 国产av不卡一区二区| 91n.com在线观看| 无码人妻精品一区二区三区在线| 91制片厂免费观看| 日韩av卡一卡二| 成人亚洲视频在线观看| 黄页网站在线观看视频| 国产 欧美 日本| 激情六月天婷婷| 国产精品igao激情视频| 91社在线播放| 亚洲欧美一二三| 好吊色这里只有精品| 日韩欧美色视频| 天堂v在线视频| 久久免费视频2| 熟女视频一区二区三区| 亚洲第一精品区| 日本一道在线观看| 国产激情片在线观看| 黄色片免费在线观看视频| 青青在线视频免费观看| 日本国产中文字幕| 国产av熟女一区二区三区| 黄色一级大片免费| www..com日韩| 日本精品久久久久中文字幕| 日本新janpanese乱熟| 天天干天天爽天天射| 亚洲欧美日韩一级| 天堂在线精品视频| 欧洲精品视频在线| 欧美日韩性生活片| 爱情岛论坛成人| 亚洲网中文字幕| 五月天激情图片| 妺妺窝人体色www在线小说| 天天爽天天爽夜夜爽| 久久久久久久久久网| 午夜免费精品视频| 国产欧美一区二| 久久精品xxx| 极品美女扒开粉嫩小泬| 妞干网在线免费视频| 五月天中文字幕在线| 日本高清视频免费在线观看| 僵尸世界大战2 在线播放| 黑人糟蹋人妻hd中文字幕| 欧美三级午夜理伦三级富婆| 日韩精品一区二区三区电影| 日韩国产一级片| 亚洲制服中文字幕| 男人添女人下面高潮视频| 免费看污污网站| 成年人视频大全| 在线观看av日韩| 亚洲熟妇无码av在线播放| 日韩中文字幕免费在线| 国产精品一色哟哟| 中文字幕1234区| www.激情小说.com| 久久久久久久激情| 91成人综合网| aaaaaaaa毛片| 亚洲一级免费观看| 久久人妻精品白浆国产| 国内少妇毛片视频| 成人高清在线观看视频| 妺妺窝人体色www在线观看| 欧美深夜福利视频| 裸体裸乳免费看| 污污视频在线免费| 欧美精品久久久久久久久25p| 国产一区二区在线视频播放| 精品人妻人人做人人爽| 日韩视频在线观看一区二区三区| 成人性视频欧美一区二区三区| 国产3p露脸普通话对白| 高清无码一区二区在线观看吞精| 日韩精品视频网址| 欧美日韩视频免费在线观看| 三区视频在线观看| 蜜臀av免费观看| 在线观看免费视频高清游戏推荐| 日韩免费高清在线| 天堂在线资源视频| av免费网站观看| 一道本在线免费视频| 超碰成人在线播放| 天天做天天爱天天高潮| 四虎永久免费网站| 日韩国产小视频| 国产av国片精品| 成人三级视频在线播放| 黄色片在线免费| 亚洲综合20p| 精品视频在线观看一区二区| 精品丰满人妻无套内射| 日本三级免费观看| av噜噜在线观看| 国产 欧美 日韩 一区| 一女被多男玩喷潮视频| 成人亚洲视频在线观看| 久久精品国产露脸对白| 欧美激情亚洲天堂| 99精品在线免费视频| 黄大色黄女片18第一次| 强开小嫩苞一区二区三区网站| 青青青青在线视频| 亚洲精品怡红院| 在线观看污视频| 免费在线观看毛片网站| 99sesese| 播放灌醉水嫩大学生国内精品| 天堂在线资源视频| 日本aa在线观看| 激情视频免费网站| 少妇人妻大乳在线视频| 在线视频日韩一区| 大陆av在线播放| 国产欧美精品一二三| 欧美xxxxx在线视频| 国产亚洲精品久久久久久久| 亚洲精品中文字幕无码蜜桃| 亚洲一二三不卡| 一区二区在线播放视频| 国内精品在线观看视频| www.色就是色.com| 男人操女人免费软件| 99在线免费视频观看| 国产福利片一区二区| jizzzz日本| 黄色一级免费大片| 欧美s码亚洲码精品m码| 中国女人做爰视频| 一本—道久久a久久精品蜜桃| 香蕉视频禁止18| 欧美一级黄色影院| 国产精品va无码一区二区| 五月天激情图片| 亚洲成年人专区| av在线免费看片| 图片区乱熟图片区亚洲| 亚洲免费黄色录像| caoporm在线视频| 一级片黄色免费| 日韩精品在线播放视频| 手机在线视频一区|