php實現的DateDiff和DateAdd時間函數代碼分享,datediffdateadd_PHP教程

來源:互聯網
上載者:User

php實現的DateDiff和DateAdd時間函數代碼分享,datediffdateadd


擴充php中的時間函數DateDiff和DateAdd

function DateDiff($part, $begin, $end){$diff = strtotime($end) - strtotime($begin);switch($part){case "y": $retval = bcdiv($diff, (60 * 60 * 24 * 365)); break;case "m": $retval = bcdiv($diff, (60 * 60 * 24 * 30)); break;case "w": $retval = bcdiv($diff, (60 * 60 * 24 * 7)); break;case "d": $retval = bcdiv($diff, (60 * 60 * 24)); break;case "h": $retval = bcdiv($diff, (60 * 60)); break;case "n": $retval = bcdiv($diff, 60); break;case "s": $retval = $diff; break;}return $retval;}function DateAdd($part, $number, $date){$date_array = getdate(strtotime($date));$hor = $date_array["hours"];$min = $date_array["minutes"];$sec = $date_array["seconds"];$mon = $date_array["mon"];$day = $date_array["mday"];$yar = $date_array["year"];switch($part){case "y": $yar += $number; break;case "q": $mon += ($number * 3); break;case "m": $mon += $number; break;case "w": $day += ($number * 7); break;case "d": $day += $number; break;case "h": $hor += $number; break;case "n": $min += $number; break;case "s": $sec += $number; break;}return date("Y-m-d H:i:s", mktime($hor, $min, $sec, $mon, $day, $yar));}Function DateAdd($part, $n, $date){switch($part){case "y": $val = date("Y-m-d H:i:s", strtotime($date ." +$n year")); break;case "m": $val = date("Y-m-d H:i:s", strtotime($date ." +$n month")); break;case "w": $val = date("Y-m-d H:i:s", strtotime($date ." +$n week")); break;case "d": $val = date("Y-m-d H:i:s", strtotime($date ." +$n day")); break;case "h": $val = date("Y-m-d H:i:s", strtotime($date ." +$n hour")); break;case "n": $val = date("Y-m-d H:i:s", strtotime($date ." +$n minute")); break;case "s": $val = date("Y-m-d H:i:s", strtotime($date ." +$n second")); break;}return $val;}

DATEADD與DATEDIFF在SQL語句中是什?

datediff是計算兩個時間間的差,如差幾天或是幾個月,或是幾年等
select datediff(day,'2008.9.2','2008.10.28')

dateadd則是算出在已知時間的基礎上再加多少天是幾月幾日.
select dateadd(year,10,getdate())
select dateadd(month,10,getdate())
select dateadd(day,10,getdate())
 

對於DATEDIFF函數問題

返回兩個日期之間的時間間隔。
文法
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 函數的文法有以下參數:

參數 描述
interval 必選。字串運算式,表示用於計算 date1 和 date2 之間的時間間隔。有關數值,請參閱“設定”部分。
date1, date2 必選。日期運算式。用於計算的兩個日期。
firstdayofweek 可選。指定星期中第一天的常數。如果沒有指定,則預設為星期日。有關數值,請參閱“設定”部分。
firstweekofyear 可選。指定一年中第一周的常數。如果沒有指定,則預設為 1 月 1 日所在的星期。有關數值,請參閱“設定”部分。

設定
interval 參數可以有以下值:
設定 描述
yyyy 年
q 季度
m 月
y 一年的日數
d 日
w 一周的日數
ww 周
h 小時
m 分鐘
s 秒
 

http://www.bkjia.com/PHPjc/864930.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/864930.htmlTechArticlephp實現的DateDiff和DateAdd時間函數代碼分享,datediffdateadd 擴充php中的時間函數DateDiff和DateAdd function DateDiff($part, $begin, $end){$diff = strtotime($end...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.