在編寫PHP代碼時(shí),經(jīng)常需要處理時(shí)間相關(guān)的事務(wù)。日期時(shí)間經(jīng)常以時(shí)間戳的形式存儲(chǔ)和傳輸,因此需要在不同的應(yīng)用程序和系統(tǒng)中批量轉(zhuǎn)換時(shí)間戳。本篇文章將介紹如何在PHP中實(shí)現(xiàn)時(shí)間戳的批量轉(zhuǎn)換。
時(shí)間戳的定義時(shí)間戳是計(jì)算機(jī)系統(tǒng)中表示日期和時(shí)間的一種方式。它是一個(gè)數(shù)字,代表從格林威治時(shí)間1970年1月1日0時(shí)0分0秒開(kāi)始,到某一時(shí)刻經(jīng)過(guò)的秒數(shù)。例如,時(shí)間戳為1533145278表示從1970年1月1日0時(shí)0分0秒開(kāi)始,1533145278秒經(jīng)過(guò)后的時(shí)間。
【資料圖】
在PHP中,可以使用date()和strtotime()函數(shù)將時(shí)間戳和日期時(shí)間之間進(jìn)行相互轉(zhuǎn)換。
2.1 date()函數(shù)
date()函數(shù)可以將時(shí)間戳轉(zhuǎn)換為具體的日期和時(shí)間格式。它的語(yǔ)法如下:
string date ( string $format [, int $timestamp = time() ] )
其中,$format參數(shù)是日期和時(shí)間的格式字符串,$timestamp是一個(gè)可選的時(shí)間戳,如果沒(méi)有提供時(shí)間戳,則默認(rèn)是系統(tǒng)當(dāng)前時(shí)間。
例如,下面的代碼將時(shí)間戳1533145278轉(zhuǎn)換為"2018-08-01 09:14:38"的格式:
$timestamp = 1533145278;$datetime = date("Y-m-d H:i:s", $timestamp);echo $datetime; //輸出:2018-08-01 09:14:382.2 strtotime()函數(shù)
strtotime()函數(shù)可以將日期時(shí)間格式字符串轉(zhuǎn)換為相應(yīng)的時(shí)間戳。它的語(yǔ)法如下:
int strtotime ( string $time [, int $now = time() ] )
其中,$time參數(shù)是日期和時(shí)間的格式字符串,$now是一個(gè)可選的時(shí)間戳,如果沒(méi)有提供時(shí)間戳,則默認(rèn)是系統(tǒng)當(dāng)前時(shí)間。
例如,下面的代碼將日期時(shí)間字符串"2018-08-01 09:14:38"轉(zhuǎn)換為時(shí)間戳1533145278:
$datetime = "2018-08-01 09:14:38";$timestamp = strtotime($datetime);echo $timestamp; //輸出:1533145278
時(shí)間戳的批量轉(zhuǎn)換在實(shí)際開(kāi)發(fā)中,我們可能需要將一個(gè)數(shù)組中的多個(gè)時(shí)間戳轉(zhuǎn)換為具體的日期時(shí)間格式,或者將一個(gè)數(shù)組中的多個(gè)日期時(shí)間字符串轉(zhuǎn)換為時(shí)間戳。為了實(shí)現(xiàn)批量轉(zhuǎn)換,我們可以使用PHP的數(shù)組遍歷函數(shù)foreach()來(lái)遍歷數(shù)組元素,然后對(duì)每個(gè)元素進(jìn)行時(shí)間戳和日期時(shí)間的轉(zhuǎn)換。
3.1 時(shí)間戳批量轉(zhuǎn)換為日期時(shí)間
下面的代碼演示了如何將一個(gè)時(shí)間戳數(shù)組批量轉(zhuǎn)換為日期時(shí)間格式:
$timestamps = [1533145278, 1553528551, 1585061157];$datetimes = [];foreach ($timestamps as $timestamp) { $datetime = date("Y-m-d H:i:s", $timestamp); $datetimes[] = $datetime;}print_r($datetimes);輸出如下:
Array( [0] => 2018-08-01 09:14:38 [1] => 2019-03-25 15:15:51 [2] => 2020-03-24 01:52:37)
3.2 日期時(shí)間批量轉(zhuǎn)換為時(shí)間戳
下面的代碼演示了如何將一個(gè)日期時(shí)間字符串?dāng)?shù)組批量轉(zhuǎn)換為時(shí)間戳:
$datetimes = ["2021-01-01 00:00:00", "2022-02-02 02:02:02", "2023-03-03 03:03:03"];$timestamps = [];foreach ($datetimes as $datetime) { $timestamp = strtotime($datetime); $timestamps[] = $timestamp;}print_r($timestamps);輸出如下:
Array( [0] => 1609459200 [1] => 1643764922 [2] => 1675260183)
總結(jié)本文介紹了PHP中如何實(shí)現(xiàn)時(shí)間戳的批量轉(zhuǎn)換。通過(guò)使用date()和strtotime()函數(shù),我們可以方便地將時(shí)間戳和日期時(shí)間相互轉(zhuǎn)換,并且通過(guò)數(shù)組遍歷函數(shù)foreach(),也可以實(shí)現(xiàn)多個(gè)時(shí)間戳或日期時(shí)間的批量轉(zhuǎn)換。這些技巧在實(shí)際開(kāi)發(fā)中經(jīng)常用到,希望對(duì)初學(xué)者和PHP愛(ài)好者有所幫助。
以上就是php 時(shí)間戳怎么批量轉(zhuǎn)換的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
關(guān)鍵詞: