您好,登錄后才能下訂單哦!
本篇內容介紹了“PHP時間戳與日期時間的轉換的方法教程”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在前面的文章(《PHP中獲取時間的方法總結(實例詳解)》)中我們介紹了怎樣獲取時間,也就是時間戳,那么在PHP中我們怎樣才能完成時間戳和日期時間的相互轉換呢?
日期時間轉為時間戳
我們可以通過time()
函數來獲取時間戳,但是time()函數只能獲取不同時區的當前時間的時間戳,示例如下:
<?php $time = time(); echo '當前的時間戳為:'.$time.'<br>'; ?>
輸出結果:
當我們想要將一個具體的時間轉化為時間戳,應該怎么操作呢?這時候我們可以使用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>';//上周一的時間戳 ?>
輸出結果:
由上述示例能夠看出,通過strtotime函數達到了具體時間轉話時間戳的問題,接下來在介紹一種更直觀的函數能夠完成具體時間轉化為時間戳。
mktime()
函數
mktime()函數能夠返回指定時間的時間戳,并且比strtotime函數要直觀一些。它的語法格式如下:
mktime(指定時間時,指定時間分,指定時間秒,指定時間月,指定時間日,指定時間年)
示例如下:
<?php echo '當前的時間戳是:'.mktime(); // 沒有設置參數則默認取得當前GMT時間 ?>
輸出結果:
獲得指定時間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秒 ?>
輸出結果:
由上述示例,也可以通過mktime函數來實現時間日期轉化為時間戳。
上面介紹了都是日期轉化為時間戳的函數方法,那接下來我們來看一看,時間戳怎樣轉化為我們習慣的時間日期。
時間戳轉化日期時間
時間戳轉化為日期時間需要用到date()
函數,這個函數用于把時間日期格式化,格式化的過程其實也可以看成是一個轉化的過程。date()函數的語法格式如下:
date(轉化后的時間格式,轉化前的時間戳)
其中轉化后的時間格式有很多種,先給大家列舉出來一些:
H
---使用 24 小時格式表示小時數,零 00 到 23
m
---使用兩位的數字表示當前月份 01 到 12
d
---表示月份中的第幾天,要用兩位數來表示,不足兩位數的話,前面加個0。
Y
---使用 4 位數字表示完整的年份
s
---使用兩位數字表示秒數,零 00 到 59i
---使用兩位數字表示分鐘數,零 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/>'; ?>
輸出結果:
可以看出,通過date函數能夠輸出正常的日期時間,但是這樣看仍然不符合我們的日常習慣,只需要將其中的參數結合在一起就可以了,示例如下:
<?php echo '1634799600轉化為日期時間為:',date('Y-m-d H:i:s', 1634799600); ?>
輸出結果:
由此我們便完成了時間戳對日期時間的轉化。
“PHP時間戳與日期時間的轉換的方法教程”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。