跳到主要內容

發表文章

目前顯示的是 12月, 2012的文章

推算日期使用strtotime超好用

要推算日期首推strtotime函數。  echo  date('Ymd', strtotime("+1 day")); strtotime未加注日期,表示當天。上式所得到的結果為 20121205     ※本文發佈日期為2012-12-04  echo  date('Ymd', strtotime("-1 day")); >> 20121203  echo  date('Ymd', strtotime("+1 month")); >> 20130104  echo  date('Ymd', strtotime("+1 week")); >> 20121211  echo  date('Ymd', strtotime("thursday -1 week")); >> 20121129   ※當日之前的第一個星期四(不含當日)  echo  date('Ymd', strtotime("thursday 0 week")); >> 20121206   ※當日之後的第一個星期四(含當日)  echo date('Ymd', strtotime("tuesday 0 week"); >> 20121204   ※ 當日之後的第一個星期二(含當日)

計算日期差

由於資料庫習慣將日期存成文字格式。 所以取得的日期均為"YYYYMMDD"; 如果要計算兩個日期差幾年、差幾月、差幾日... 則需要轉換格式並相減。 自訂函數: DateDiff ($stdate, $endate, $type) {     // $stdate-起始日期, $endate-終止日期, $type-日期單位     $eyear   =   date("Y", strtotime(substr($endate, 0, 4)."-".substr($endate, 4, 2)."-".substr($endate, 6, 2)));     $syear   =   date("Y", strtotime(substr($stdate, 0, 4)."-".substr($stdate, 4, 2)."-".substr($stdate, 6, 2)));     $emonth   =   date("m", strtotime(substr($endate, 0, 4)."-".substr($endate, 4, 2)."-".substr($endate, 6, 2)));     $smonth   =   date("m", strtotime(substr($stdate, 0, 4)."-".substr($stdate, 4, 2)."-".substr($stdate, 6, 2)));     $eday   =   date("d", strtotime(substr($endate, 0, 4)."-".substr($endate, 4, 2)."-".substr($endate, 6, 2)));     $sday   =   date("d", strtotime(substr($stdate, 0, 4)."-".substr($stda