日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
PHPstrtotime()與mktime():日期轉(zhuǎn)時(shí)間戳
前面我們介紹了《time() 函數(shù)》可以獲取當(dāng)前的時(shí)間戳,那么如果想要將一個(gè)具體的時(shí)間轉(zhuǎn)換成時(shí)間戳的話該怎么辦呢?

php 中提供了兩個(gè)函數(shù)可以實(shí)現(xiàn)將具體的日期轉(zhuǎn)換為時(shí)間戳,分別是 strtotime() 函數(shù)和 mktime() 函數(shù)。下面我們來(lái)分別介紹一下。

1、strtotime() 函數(shù)

使用 strtotime() 函數(shù)可以將任何字符串類(lèi)型的日期/時(shí)間轉(zhuǎn)換為 UNIX 時(shí)間戳,其語(yǔ)法格式如下:

strtotime($time [,$now = time()])

其中 $time 為表示時(shí)間/日期的字符串,例如“2020-01-01”;$now 為可選參數(shù),用來(lái)計(jì)算返回值的時(shí)間戳。函數(shù)執(zhí)行成功會(huì)返回指定的字符串,執(zhí)行失敗返回 FALSE。

另外需要注意的是,如果使用兩位數(shù)字表示年份的話,其中 0 ~ 69 表示 2000 ~ 2069,70 ~ 100 則表示 1970 ~ 2000。

【示例】使用 strtotime() 函數(shù)獲取指定時(shí)間的時(shí)間戳。

';
    echo '使用“now”獲取當(dāng)前的時(shí)間戳:'.strtotime('now').'
'; echo '2000-09-10 的時(shí)間戳是:'.strtotime("10 September 2000").'
'; echo '在當(dāng)前的時(shí)間戳上加一天:'.strtotime("+1 day").'
'; echo '在當(dāng)前的時(shí)間戳上加一周:'.strtotime("+1 week").'
'; echo '在當(dāng)前的時(shí)間戳上加一周兩天四小時(shí)兩分鐘:'.strtotime("+1 week 2 days 4 hours 2 seconds").'
'; echo '下一個(gè)周四的時(shí)間戳:'.strtotime("next Thursday").'
'; echo '上一個(gè)周一的時(shí)間戳:'.strtotime("last Monday").'
'; ?>

運(yùn)行結(jié)果如下:

當(dāng)前的時(shí)間戳是:1585273874
使用“now”獲取當(dāng)前的時(shí)間戳:1585273874
2000-09-10 的時(shí)間戳是:968515200
在當(dāng)前的時(shí)間戳上加一天:1585360274
在當(dāng)前的時(shí)間戳上加一周:1585878674
在當(dāng)前的時(shí)間戳上加一周兩天四小時(shí)兩分鐘:1586065876
下一個(gè)周四的時(shí)間戳:1585756800
上一個(gè)周一的時(shí)間戳:1584892800

注意:根據(jù)具體時(shí)間的變化,程序每次運(yùn)行的結(jié)果略有不同。

2、mktime() 函數(shù)

除了 strtotime() 函數(shù)外,我們還可以使用 PHP 中的 mktime() 函數(shù)來(lái)獲取指定日期的 UNIX 時(shí)間戳,該函數(shù)的語(yǔ)法格式如下:

mktime ([$hour = date("H") [, $minute = date("i") [, $second = date("s") [, $month = date("n") [, $day = date("j") [, $year = date("Y") [, $is_dst = -1 ]]]]]]])

參數(shù)說(shuō)明如下:

  • $hour:表示一天中經(jīng)過(guò)的小時(shí)數(shù)。如果 $hour 為負(fù)值,則表示前一天的適當(dāng)時(shí)間;如果 $hour 大于 23,則表示第二天的適當(dāng)時(shí)間。
  • $minute:表示一個(gè)小時(shí)內(nèi)經(jīng)過(guò)的分鐘數(shù)。如果 $minute 為負(fù)值,則表示前一小時(shí)適當(dāng)?shù)姆昼姅?shù);如果 $minute 大于 59,則表示下一小時(shí)中的適當(dāng)分鐘數(shù)。
  • $second:表示一分鐘內(nèi)經(jīng)過(guò)的秒數(shù)。如果 $second 為負(fù)值,則表示前一分鐘內(nèi)的適當(dāng)秒數(shù);如果 $second 大于59,則表示下一分鐘內(nèi)的適當(dāng)秒數(shù)。
  • $month:表示一年中經(jīng)過(guò)的月份數(shù),取值范圍在 1 到 12 之間。如果 $month 小于 1(包括負(fù)值),則表示上一年的適當(dāng)月份;如果 $month 大于 12,則表示下一年的適當(dāng)月份。
  • $day:表示一個(gè)月中經(jīng)過(guò)的天數(shù),取值范圍在 1 到 31 之間(取決于具體月份的天數(shù))。如果 $day 小于 1(包括負(fù)值),則表示上個(gè)月的適當(dāng)天數(shù),比如 0 表示上個(gè)月的最后一天,-1 表示上個(gè)月的倒數(shù)第二天等等;如果 $day 大于本月的最大天數(shù),則表示下個(gè)月的適當(dāng)日期。
  • $year:表示具體的年份,可以是兩位或四位數(shù)字,0 ~ 69 對(duì)應(yīng) 2000 ~ 2069 年,70 ~ 100 對(duì)應(yīng) 1970 ~ 2000年。在如今系統(tǒng)中普遍把 time_t 作為一個(gè) 32 位有符號(hào)整數(shù)的情況下,$year 的合法范圍是 1901 到 2038 之間,不過(guò)此限制自 PHP5.1.0 起已被克服了。
  • $is_dst:本參數(shù)可以設(shè)為 1,表示正處于夏時(shí)制時(shí)間(DST),0 表示不是夏時(shí)制,或者 -1(默認(rèn)值)表示不知道是否是夏時(shí)制。不過(guò)本參數(shù)在 PHP5.1.0 中已被廢棄,并在 PHP7.0.0 中移除。

提示:mktime() 函數(shù)中的參數(shù)可以從右向左省略,任何省略的參數(shù)會(huì)被設(shè)置成本地日期和時(shí)間的當(dāng)前值。如果省略函數(shù)的所有參數(shù),那么 mktime() 函數(shù)會(huì)和 time() 函數(shù)一樣,返回當(dāng)前的時(shí)間戳。

【示例】使用 mktime() 函數(shù)獲取指定時(shí)間的時(shí)間戳。

';
    $time2 = mktime(0, 0, 0, 3, 26, 20);
    echo '2020-03-26 00:00:00 的時(shí)間戳是:'.$time2.'
'; $time3 = mktime(); echo '省略函數(shù)的所有參數(shù),獲得的時(shí)間戳是:'.$time3.'
'; $time4 = mktime(-1, -20, 6, 3, 26, 2020); echo '2020-03-25 22:40:06 的時(shí)間戳是:'.$time4.'
'; ?>

運(yùn)行結(jié)果如下:

當(dāng)前的時(shí)間戳是:1585216256
2020-03-26 00:00:00 的時(shí)間戳是:1585152000
省略函數(shù)的所有參數(shù),獲得的時(shí)間戳是:1585216256
2020-03-25 22:40:06 的時(shí)間戳是:1585147206


名稱(chēng)欄目:PHPstrtotime()與mktime():日期轉(zhuǎn)時(shí)間戳
本文網(wǎng)址:http://www.dlmjj.cn/article/dpesiji.html