首頁 >後端開發 >PHP問題 >聊聊php時間戳與具體時間格式的相互轉換

聊聊php時間戳與具體時間格式的相互轉換

PHPz
PHPz原創
2023-03-29 16:26:08561瀏覽

PHP是一種廣泛使用的開源伺服器端腳本語言,它具有許多方便的函數和方法,可以輕鬆地進行各種計算和處理。其中,時間戳記是一種很常用的時間表示方法,它是表示從1970年1月1日00:00:00到現在的秒數。在PHP中,我們可以很方便地將時間戳記與具體時間之間進行轉換。

一、將時間轉換為時間戳記

在PHP中,我們可以使用time()函數將目前時間轉換為時間戳記。函數沒有參數,直接呼叫即可。程式碼如下:

$timestamp = time();
echo $timestamp;

以上程式碼輸出的結果為目前時間的時間戳記。

我們也可以使用strtotime()函數將一個具體時間轉換為時間戳記。函數接受一個時間字串作為參數,傳回該時間的時間戳記。程式碼如下:

$time = "2021-06-10 12:30:00";
$timestamp = strtotime($time);
echo $timestamp;

以上程式碼輸出的結果為2021-06-10 12:30:00的時間戳記。

二、將時間戳記轉換為時間

在PHP中,我們可以使用date()函數將時間戳記轉換為具體時間。此函數有兩個參數,第一個參數是時間格式,第二個參數是時間戳記。程式碼如下:

$timestamp = time();
$time = date("Y-m-d H:i:s", $timestamp);
echo $time;

以上程式碼輸出的結果為目前時間的具體時間格式。

三、將時間戳轉換為可讀性更好的時間

在實際開發中,我們經常需要將時間戳轉換為可讀性更好的時間,例如「剛剛」、「1小時前」等。 PHP中可以透過一些簡單的計算和判斷來實現這項功能。

首先,我們定義一個函數,接受一個時間戳記作為參數,傳回一個可讀性更好的時間。程式碼如下:

function get_time_diff($timestamp){
    $current_time = time();
    $time_diff = $current_time - $timestamp;
    if($time_diff < 60){
        return "刚刚";
    }else if($time_diff < 3600){
        return floor($time_diff/60)."分钟前";
    }else if($time_diff < 86400){
        return floor($time_diff/3600)."小时前";
    }else{
        return date("Y-m-d H:i:s", $timestamp);
    }
}

以上程式碼中,我們先計算當前時間與給定時間戳記的時間差,然後再透過一些條件語句來判斷回傳何種結果。

接下來,我們呼叫函數,傳入一個時間戳參數來測試。程式碼如下:

$timestamp = time() - 3600;
echo get_time_diff($timestamp);

以上程式碼輸出的結果為「1小時前」。

四、總結

以上即為PHP轉換時間戳記的方法,透過time()函數和strtotime()函數來將具體時間轉換為時間戳,透過date()函數來將時間戳轉換為具體時間,透過自訂函數將時間戳轉換為可讀性更好的時間。在實際開發中,我們可以根據需要選擇不同的方法來進行轉換。

以上是聊聊php時間戳與具體時間格式的相互轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn