在php與MySql中計算時間差的方法解析_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:WordPress自定義時間顯示格式
      這篇文章主要介紹了WordPress自定義時間顯示格式的方法,需要的朋友可以參考下 在幫King改他的私人情侶博客模版~找了一些找了,總算是把時間顯示為想要的格式了。于是將獲得的一些信息記下,供備忘,亦供朋友們參考。 WordPress 通過一系列的時間日期函數控制時間日期的

       在php中計算時間差有時候是件麻煩的事!不過只要你掌握了日期時間函數的用法那這些也就變的簡單了。

      最近在研究自己愛圍脖的時候就要計算到戀愛天數,這需要php根據每天的日期進行計算,下面就來談談實現這種日期計算的幾種方法:

      (1) 如果有數據庫就很容易了!若是MSSQL可以使用觸發器!用專門計算日期差的函數datediff()便可!若是MYSQL那就用兩個日期字段的差值計算的計算結果保存在另一個數值型字段中!用時調用便可!

      (2)如果沒有數據庫,那就得完全用php的時間日期函數!

      下面主要說明之:

      例:計算1998年5月3日到1999-6-5的天數:

       

      代碼如下:
      $startdate=mktime("0","0","0","5","3","1998"); $enddate=mktime("0","0","0","6","5","1999"); //所得到的值為從1970-1-1到參數時間的總秒數結果是整數.那么下面的代碼就好編多了
      $days=round(($enddate-$startdate)/3600/24) ;
      echo $days;

       

      其中$days為得到的天數;

      若mktime()中的參數缺省,那表示使用當前日期,這樣便可計算從借書日期至今的天數。

      最后說一下SQL的計算方法:

      DateDiff 函數

      描述:返回兩個日期之間的時間間隔。

      語法:

      DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)
      interval: 必選。字符串表達式,表示用于計算 date1 與 date2 之間的時間間隔。關于數值,請參閱“設置”部分。

      date1, date2: 必選。日期表達式。用于計算的兩個日期。

      firstdayofweek: 可選。指定星期中第一天的常數。如果沒有指定,則默認為星期日。關于數值,請參閱“設置”部分。

      firstweekofyear: 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。關于數值,請參閱“設置”部分。

      interval 參數可以有以下值:

      yyyy (年)
      q (季度)
      m (月)
      y (一年的日數)
      d (日)
      w (一周的日數)
      ww (周)
      h (小時)
      n (分鐘)
      s (秒)
      firstdayofweek 參數可以有以下值:

      (以下分別為:常數 值 描述)

      vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
      vbSunday 1 星期日(默認)
      vbMonday 2 星期一
      vbTuesday 3 星期二
      vbWednesday 4 星期三
      vbThursday 5 星期四
      vbFriday 6 星期五
      vbSaturday 7 星期六
      firstweekofyear 參數可以有以下值:

      (以下分別為:常數 值 描述)

      vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
      vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
      vbFirstFourDays 2 由在新年中至少有四天的第一周開始。
      vbFirstFullWeek 3 由在新的一年中第一個完整的周開始。
      說明:DateDiff 函數用于判斷在兩個日期之間存在的指定時間間隔的數目。

      例如可以使用 DateDiff 計算兩個日期相差的天數,或者當天到當年最后一天之間的星期數。

      要計算 date1 與 date2 相差的天數,可以使用“一年的日數”(“y”)或“日”(“d”)。當 interval 為“一周的日數”(“w”)時,DateDiff 返回兩個日期之間的星期數。

      如果 date1 是星期一,則 DateDiff 計算到 date2 之前星期一的數目。此結果包含 date2 而不包含 date1。

      如果 interval 是“周”(“ww”),則 DateDiff 函數返回日歷表中兩個日期之間的星期數。函數計算 date1 與 date2 之間星期日的數目。

      如果 date2 是星期日,DateDiff 將計算 date2,但即使 date1 是星期日,也不會計算 date1。

      如果 date1 晚于 date2,則 DateDiff 函數返回負數。 firstdayofweek 參數會對使用“w”與“ww”間隔符號的計算產生影響。

      如果 date1 或 date2 是日期文字,則指定的年度會成為日期的固定部分。但是如果 date1 或 date2 被包括在引號 (“ ”) 中并且省略年份,則在代碼中每次計算 date1 或 date2 表達式時,將插入當前年份。這樣就可以編寫適用于區別年份的程序代碼。

      在 interval 為“年”(“yyyy”)時,比較 12 月 31 日與來年的 1 月 1 日,雖然實際上只相差一天,DateDiff 返回 1 表示相差一個年份。

      DatePart 函數

      描述:返回給定日期的指定部分。 語法:

      DatePart(interval, date[, firstdayofweek[, firstweekofyear>)
      DatePart: 函數的語法有以下參數:
      interval: 必選。字符串表達式,表示要返回的時間間隔。關于數值,請參閱“設置”部分。
      date: 必選。要計算的日期表達式。
      firstdayofweek: 可選。指定星期中的第一天的常數。如果沒有指定,則默認為星期日。關于數值,請參閱“設置”部分。
      firstweekofyear: 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。關于數值,請參閱“設置”部分。
      其中interval 參數可以有以下值: yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鐘) 、s (秒)

      其中firstdayofweek 參數可以有以下值:

      (以下分別為:常數 值 描述)

      vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
      vbSunday 1 星期日(默認)
      vbMonday 2 星期一
      vbTuesday 3 星期二
      vbWednesday 4 星期三
      vbThursday 5 星期四
      vbFriday 6 星期五
      vbSaturday 7 星期六
      firstweekofyear 參數可以有以下值:

      (以下分別為:常數 值 描述)

      vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
      vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
      vbFirstFourDays 2 由在新年中至少有四天的第一周開始。
      vbFirstFullWeek 3 由在新的一年中第一個完整的周(不跨年度)開始。
      說明:DatePart 函數用于計算日期并返回指定的時間間隔。例如使用 DatePart 計算某一天是星期幾或當前的時間。

      其中firstdayofweek 參數會影響使用“w”與“ww”間隔符號的計算。

      分享:php實現插入數組但不影響原有順序的方法
      這篇文章主要介紹了php實現插入數組但不影響原有順序的方法,實例分析了php數組操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例講述了php實現插入數組但不影響原有順序的方法。分享給大家供大家參考。具體實現方法如下: ? 希望本文所述對大家的php程序

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-28
      相關PHP教程