站長資訊網
        最全最豐富的資訊網站

        最詳細的教你PHP時間戳與日期時間的轉換

        在之前的文章中給大家帶來了《PHP中如何才能將時間日期格式化?怎么計算時間差?》,其中詳細的介紹了在PHP中應該怎樣去將時間日期格式化和怎樣計算時間差,本篇文章我們一起來看一看,日期與時間戳的相互轉換,希望對大家有幫助!

        最詳細的教你PHP時間戳與日期時間的轉換

        在前面的文章(《PHP中獲取時間的方法總結(實例詳解)》)中我們介紹了怎樣獲取時間,也就是時間戳,那么在PHP中我們怎樣才能完成時間戳和日期時間的相互轉換呢?

        日期時間轉為時間戳

        我們可以通過time()函數來獲取時間戳,但是time()函數只能獲取不同時區的當前時間的時間戳,示例如下:

        <?php     $time = time();     echo '當前的時間戳為:'.$time.'<br>'; ?>

        輸出結果:

        最詳細的教你PHP時間戳與日期時間的轉換

        當我們想要將一個具體的時間轉化為時間戳,應該怎么操作呢?這時候我們可以使用strtotime()函數來實現。

        • strtotime()函數

        strtotime()函數可將英文文本描述的任何字符串型的日期轉化為 UNIX 時間戳,它的語法格式如下:

        strtotime(字符串形式的時間 [,用來計算返回值的參數])

        示例如下:

        <?php     echo time().'<br>';//當前時間的時間戳     echo strtotime('now').'<br>';//使用now獲取的時間戳,也就是當前時間戳     echo strtotime("1 September 2021").'<br>';//2021年九月一日的時間戳     echo strtotime("+1 day").'<br>';//當前時間加上一天的時間戳     echo strtotime("+1 week 1 days 1 hours 1 seconds").'<br>';//當前時間加上一周一天一小時一秒的時間戳     echo strtotime("next Thursday").'<br>';//下周四的時間戳     echo strtotime("last Monday").'<br>';//上周一的時間戳 ?>

        輸出結果:

        最詳細的教你PHP時間戳與日期時間的轉換

        由上述示例能夠看出,通過strtotime函數達到了具體時間轉話時間戳的問題,接下來在介紹一種更直觀的函數能夠完成具體時間轉化為時間戳。

        • mktime()函數

        mktime()函數能夠返回指定時間的時間戳,并且比strtotime函數要直觀一些。它的語法格式如下:

        mktime(指定時間時,指定時間分,指定時間秒,指定時間月,指定時間日,指定時間年)

        示例如下:

        <?php echo '當前的時間戳是:'.mktime();  // 沒有設置參數則默認取得當前GMT時間 ?>

        輸出結果:

        最詳細的教你PHP時間戳與日期時間的轉換

        獲得指定時間2021年10月21日15點0分0秒的UNIX時間戳,示例如下:

        <?php echo '2021年10月21日15點0分0秒的時間戳是:'.mktime(15,0,0,10,21,2021);  //設置參數表示GMT時間2021年10月21日15點0分0秒 ?>

        輸出結果:

        最詳細的教你PHP時間戳與日期時間的轉換

        由上述示例,也可以通過mktime函數來實現時間日期轉化為時間戳。

        上面介紹了都是日期轉化為時間戳的函數方法,那接下來我們來看一看,時間戳怎樣轉化為我們習慣的時間日期。

        時間戳轉化日期時間

        時間戳轉化為日期時間需要用到date()函數,這個函數用于把時間日期格式化,格式化的過程其實也可以看成是一個轉化的過程。date()函數的語法格式如下:

        date(轉化后的時間格式,轉化前的時間戳)

        其中轉化后的時間格式有很多種,先給大家列舉出來一些:

        H—使用 24 小時格式表示小時數,零 00 到 23

        m—使用兩位的數字表示當前月份 01 到 12

        d—表示月份中的第幾天,要用兩位數來表示,不足兩位數的話,前面加個0。

        Y—使用 4 位數字表示完整的年份

        s—使用兩位數字表示秒數,零 00 到 59

        i—使用兩位數字表示分鐘數,零 00 到 59

        接下來用1634799600這個時間戳來實驗一下吧,這個時間戳是上個示例中,2021年10月21日15點0分0秒的時間戳。

        示例如下:

        <?php echo '1634799600轉化為日期時間的年份為:',date('Y', 1634799600),'<br/>'; echo '1634799600轉化為日期時間的月份為:',date('m', 1634799600),'<br/>'; echo '1634799600轉化為日期時間的月內天數為:',date('d', 1634799600),'<br/>'; echo '1634799600轉化為日期時間的小時數為:',date('H', 1634799600),'<br/>'; echo '1634799600轉化為日期時間的小時內分鐘數為:',date('i', 1634799600),'<br/>'; echo '1634799600轉化為日期時間的分鐘內秒數為:',date('s', 1634799600),'<br/>'; ?>

        輸出結果:

        最詳細的教你PHP時間戳與日期時間的轉換

        可以看出,通過date函數能夠輸出正常的日期時間,但是這樣看仍然不符合我們的日常習慣,只需要將其中的參數結合在一起就可以了,示例如下:

        <?php echo '1634799600轉化為日期時間為:',date('Y-m-d H:i:s', 1634799600); ?>

        輸出結果:

        最詳細的教你PHP時間戳與日期時間的轉換

        由此我們便完成了時間戳對日期時間的轉化。

        大家如果感興趣的話,可以點擊《PHP視頻教程》進行

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 思思久久99热免费精品6| 亚洲av午夜国产精品无码中文字 | 精品少妇一区二区三区在线| 国产99视频精品免费专区| 亚洲视频在线精品| 久久99热这里只有精品国产| 青青青国产依人精品视频| 国产精品视频白浆免费视频| 中文精品无码中文字幕无码专区| 精品国产香蕉伊思人在线在线亚洲一区二区 | 午夜精品久久影院蜜桃| 99久久夜色精品国产网站| 92国产精品午夜福利| 国产麻豆精品一区二区三区v视界 国产麻豆一精品一AV一免费 | 国产精品福利网站导航| 精品一区二区三区无码免费视频 | 国产精品原创巨作av女教师| 亚洲精品自在在线观看| 三级国产精品| 欧美日韩国产精品系列| 久久久亚洲精品蜜桃臀| 精品国产污污免费网站入口在线| 国产精品福利在线观看免费不卡| 亚洲嫩草影院久久精品| 91人前露出精品国产| 杨幂国产精品福利在线观看 | 国产区精品福利在线观看精品| 97视频在线精品国自产拍| 国产精品久久精品| 2022国产精品福利在线观看| 国产中老年妇女精品| 精品久久人妻av中文字幕| 国产女主播精品大秀系列| 97r久久精品国产99国产精| 高清在线亚洲精品国产二区| 91国在线啪精品一区| 99热这里只有精品在线| 精品国产第1页| 亚洲综合精品香蕉久久网97| 国产乱人伦偷精品视频免观看| 久久se精品一区精品二区国产|