一、時間格式化
在PHP中,時間格式化是最基本的需求,而使用datetime函數可以輕鬆地格式化日期和時間。除此之外,datetime還支持將日期和時間轉換為UNIX時間戳,並且可以做簡單的時間運算。
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s.u');
?>
使用DateTime實例化當前時間,通過format格式化輸出即可得到完整的日期和時間,包括毫秒。
二、毫秒轉換
PHP中,大多數函數只支持到秒級別的時間戳,如果需要更精確的毫秒級別的時間戳,可以使用microtime函數獲取以秒為單位的當前時間戳,再乘以1000得到當前時間的毫秒數。
<?php
$time = microtime(true) * 1000;
echo $time;
?>
使用microtime函數獲取當前時間的毫秒數,並返回一個以秒為單位的浮點數,再乘以1000即可得到當前時間的毫秒數。
三、延遲執行
在一些需要等待的情況下,可以使用usleep函數來延遲執行,這個函數可以控制程序暫停一段時間,並且支持到微秒級別的延遲。
<?php
$start = microtime(true);
usleep(1000*1000);
$end = microtime(true);
echo "delay: " . ($end - $start) . "s";
?>
使用microtime函數獲取當前時間戳,之後使用usleep函數使程序暫停1秒鐘,再使用microtime函數獲取當前時間戳,兩者相減即可計算出延遲的時間。
四、倒計時
倒計時是一個常見的功能,對於像秒殺、搶購等業務場景比較適用。在PHP中可以使用date_diff函數計算兩個時間戳之間的差值,再通過時間戳格式化輸出倒計時的天、小時、分鐘、秒。
<?php
$future_date = new DateTime('2022-01-01 00:00:00');
$now = new DateTime();
$interval = $now->diff($future_date);
echo "{$interval->d} days, {$interval->h} hours, {$interval->i} minutes, {$interval->s} seconds";
?>
首先實例化一個未來的日期,再實例化當前日期,通過date_diff函數獲取兩者之間的差值,輸出天、小時、分鐘、秒即可實現倒計時功能。
五、時間比較
在PHP中,我們經常需要比較兩個時間的先後順序,可以使用DateTime對象的diff()函數來計算時間差,也可以使用strtotime函數來計算兩個時間的時間戳,在對比兩個時間戳來實現比較。
<?php
$date1 = new DateTime('2022-01-01 00:00:00');
$date2 = new DateTime('2021-12-31 00:00:00');
if($date1 > $date2){
echo "date1 > date2";
} else {
echo "date1 <= date2";
}
?>
首先實例化兩個日期並進行比較大小,使用DateTime對象的比較符號即可實現簡單的時間比較。
六、時區設置
在PHP中,時區設置非常重要,可以使用date_default_timezone_set函數來設置時區,默認時區為UTC。
<?php
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');
?>
使用date_default_timezone_set函數設置為中國標準時間,輸出結果即為北京時間。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285575.html