国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

在php和MySql中計(jì)算時(shí)間差的方法詳解

2024-05-04 23:33:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了在php和MySql中計(jì)算時(shí)間差的方法詳解的相關(guān)資料,需要的朋友可以參考下
 

在php中計(jì)算時(shí)間差有時(shí)候是件麻煩的事!不過(guò)只要你掌握了日期時(shí)間函數(shù)的用法那這些也就變的簡(jiǎn)單了。

最近在研究自己愛(ài)圍脖的時(shí)候就要計(jì)算到戀愛(ài)天數(shù),這需要php根據(jù)每天的日期進(jìn)行計(jì)算,下面就來(lái)談?wù)剬?shí)現(xiàn)這種日期計(jì)算的幾種方法:

(1) 如果有數(shù)據(jù)庫(kù)就很容易了!若是MSSQL可以使用觸發(fā)器!用專門計(jì)算日期差的函數(shù)datediff()便可!若是MYSQL那就用兩個(gè)日期字段的差值計(jì)算的計(jì)算結(jié)果保存在另一個(gè)數(shù)值型字段中!用時(shí)調(diào)用便可!

(2)如果沒(méi)有數(shù)據(jù)庫(kù),那就得完全用php的時(shí)間日期函數(shù)!

下面主要說(shuō)明之:

例:計(jì)算1998年5月3日到1999-6-5的天數(shù):

 

復(fù)制代碼代碼如下:

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

 

其中$days為得到的天數(shù);

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

最后說(shuō)一下SQL的計(jì)算方法:

DateDiff 函數(shù)

描述:返回兩個(gè)日期之間的時(shí)間間隔。

語(yǔ)法:

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)
interval: 必選。字符串表達(dá)式,表示用于計(jì)算 date1 和 date2 之間的時(shí)間間隔。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

date1, date2: 必選。日期表達(dá)式。用于計(jì)算的兩個(gè)日期。

firstdayofweek: 可選。指定星期中第一天的常數(shù)。如果沒(méi)有指定,則默認(rèn)為星期日。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

firstweekofyear: 可選。指定一年中第一周的常數(shù)。如果沒(méi)有指定,則默認(rèn)為 1 月 1 日所在的星期。有關(guān)數(shù)值,請(qǐng)參閱“設(shè)置”部分。

interval 參數(shù)可以有以下值:

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

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

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

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

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

例如可以使用 DateDiff 計(jì)算兩個(gè)日期相差的天數(shù),或者當(dāng)天到當(dāng)年最后一天之間的星期數(shù)。

要計(jì)算 date1 和 date2 相差的天數(shù),可以使用“一年的日數(shù)”(“y”)或“日”(“d”)。當(dāng) interval 為“一周的日數(shù)”(“w”)時(shí),DateDiff 返回兩個(gè)日期之間的星期數(shù)。

如果 date1 是星期一,則 DateDiff 計(jì)算到 date2 之前星期一的數(shù)目。此結(jié)果包含 date2 而不包含 date1。

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

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

如果 date1 晚于 date2,則 DateDiff 函數(shù)返回負(fù)數(shù)。 firstdayofweek 參數(shù)會(huì)對(duì)使用“w”和“ww”間隔符號(hào)的計(jì)算產(chǎn)生影響。

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

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

DatePart 函數(shù)

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

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

其中firstdayofweek 參數(shù)可以有以下值:

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

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

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

vbUseSystem 0 使用區(qū)域語(yǔ)言支持 (NLS) API 設(shè)置。
vbFirstJan1 1 由 1 月 1 日所在的星期開(kāi)始(默認(rèn))。
vbFirstFourDays 2 由在新年中至少有四天的第一周開(kāi)始。
vbFirstFullWeek 3 由在新的一年中第一個(gè)完整的周(不跨年度)開(kāi)始。
說(shuō)明:DatePart 函數(shù)用于計(jì)算日期并返回指定的時(shí)間間隔。例如使用 DatePart 計(jì)算某一天是星期幾或當(dāng)前的時(shí)間。

其中firstdayofweek 參數(shù)會(huì)影響使用“w”和“ww”間隔符號(hào)的計(jì)算。

如果 date 是日期文字,則指定的年度會(huì)成為日期的固定部分。但是如果 date 被包含在引號(hào) (“ ”) 中,并且省略年份,則在代碼中每次計(jì)算 date 表達(dá)式時(shí),將插入當(dāng)前年份。這樣就可以編寫適用于不同年份的程序代碼!

以上所述就是本文的全部?jī)?nèi)容了,希望能夠?qū)Υ蠹沂炀氄莆誴hp有所幫助。

請(qǐng)您花一點(diǎn)時(shí)間將文章分享給您的朋友或者留下評(píng)論。我們將會(huì)由衷感謝您的支持!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐平市| 交城县| 东源县| 泉州市| 桑日县| 莱芜市| 肃北| 陆良县| 伊通| 宁海县| 巴东县| 眉山市| 阳高县| 垣曲县| 德江县| 枞阳县| 镇康县| 平邑县| 车致| 石城县| 始兴县| 麻阳| 鹿泉市| 鄂伦春自治旗| 云南省| 同德县| 南木林县| 耒阳市| 宿迁市| 杨浦区| 日照市| 汽车| 福贡县| 固镇县| 阿拉善盟| 江孜县| 元朗区| 元朗区| 麻栗坡县| 高台县| 东城区|