澳门新浦京8455com如何实现给定日期的若干天以后的日期

目前猛然有大多的人问那样的难点,正是怎么样在PHP中贯彻在VB中的DateAdd的函数,呵呵!这几个不过问个正着。
本来这么些主题素材是 水豆腐 去 华为应聘的时候的三个课题,不过当下是用C++实现的。未有想到这么的大商厦,竟
然用这么的抠门来考查:),后来自个儿未有去,这两日 应 的
网民–》运气,用PHP重新 写了那几个函数。 这一个函数是比较轻巧,正是拉长给
内定时期累计一天,获得新生成的日期,要是要扩充,也是很简短的。
上面首先来看那个函数,首先要提前讲个函数,推断当前是还是不是是闰年的函数
function CheckRun($year卡塔尔国{ if($year%4==0 ($year%100!=0 || $year%400==0卡塔尔 卡塔尔(قطر‎return true; else return false; } 我们要在底下的顺序中用到这些函数
function DateAdd($dateState of Qatar{ $parts = explode( , $date卡塔尔; $date =
$parts[澳门新浦京8455com ,0]; $time = $parts[1]; $ymd = explode(-, $date); $hms =
explode(:, $time); $year = $ymd[0]; $month = $ymd[1]; $day =
$ymd[2]; $hour = $hms[0]; $minute = $hms[1]; $second = $hms[2];
$day=$day+1 ; //废话少说,先把日子加反复说 if($month==1 || $month==3 ||
$month==5 || $month==7 || $month==8 || $month==10 || $month==12卡塔尔国if($day==32State of Qatar { $day=1; $month++; } if($month==4 || $month==6 ||
$month==9 || $month==11卡塔尔国 if($day==31State of Qatar { $day=1; $month++; }
if($month==2卡塔尔(قطر‎ if(CheckRun($yearState of Qatar卡塔尔 { //闰年 3月有 29 天 if($day==30卡塔尔 {
$day=1; $month++; } } else { //不是闰年 if($day==29State of Qatar { $day=1; $month++;
} } if($month==13卡塔尔(قطر‎ { $month=1; $year++; } return $year . “-” . $month .
“-” . $day; } 好了,上边来测验一下 echo DateAdd(“一九九六-12-31 11:11:11″State of Qatar;
echo DateAdd(“二零零四-2-29 11:11:11″State of Qatar;
假若要测量检验增扩展少天,只要加个循环就足以了,相信我们都以高人,那个效应很简短吗:)

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图