溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

發(fā)布時間:2021-10-21 16:33:50 來源:億速云 閱讀:140 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“PHP時間戳與日期時間的轉(zhuǎn)換的方法教程”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

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

日期時間轉(zhuǎn)為時間戳

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

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

輸出結(jié)果:

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

當(dāng)我們想要將一個具體的時間轉(zhuǎn)化為時間戳,應(yīng)該怎么操作呢?這時候我們可以使用strtotime()函數(shù)來實現(xiàn)。

  • strtotime()函數(shù)

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

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

示例如下:

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

輸出結(jié)果:

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

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

  • mktime()函數(shù)

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

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

示例如下:

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

輸出結(jié)果:

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

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

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

輸出結(jié)果:

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

由上述示例,也可以通過mktime函數(shù)來實現(xiàn)時間日期轉(zhuǎn)化為時間戳。

上面介紹了都是日期轉(zhuǎn)化為時間戳的函數(shù)方法,那接下來我們來看一看,時間戳怎樣轉(zhuǎn)化為我們習(xí)慣的時間日期。

時間戳轉(zhuǎn)化日期時間

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

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

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

H---使用 24 小時格式表示小時數(shù),零 00 到 23

m---使用兩位的數(shù)字表示當(dāng)前月份 01 到 12

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

Y---使用 4 位數(shù)字表示完整的年份

s---使用兩位數(shù)字表示秒數(shù),零 00 到 59

i---使用兩位數(shù)字表示分鐘數(shù),零 00 到 59

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

示例如下:

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

輸出結(jié)果:

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

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

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

輸出結(jié)果:

PHP時間戳與日期時間的轉(zhuǎn)換的方法教程

由此我們便完成了時間戳對日期時間的轉(zhuǎn)化。

“PHP時間戳與日期時間的轉(zhuǎn)換的方法教程”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI