在編程中有些邏輯需要對時間進行比對,從而處理各種需求。本篇文章就說一說在PHP編程中如果獲取昨天,今天,明天,以及本月的開始時間戳以及結束的時間戳。

PHP 的mktime()函數

在PHP中我們可以利用mktime()函數獲取一個指定日期的UNIX的時間戳,我們可以利用獲取到的時間戳來做各式各樣的邏輯處理。

mktime()函數語法

mktime(hour,minute,second,month,day,year,is_dst);

關于mktime()的參數

hour 可選。規定小時。

minute 可選。規定分。

second 可選。規定秒。

month 可選。規定月。

day 国产视频app        可選。規定天。

year         可選。規定年。

is_dst 国产视频app可選。如果時間在夏令時期間,則設置為 1,否則設置為 0,若未知則設置為 -1(默認)。 注意:該參數在 PHP 5.1.0 中被廢棄。取而代之使用的是新的時區處理特性。

利用mktime()函數獲取今天的開始時間的UNIX時間戳

//今天開始時間UNIX時間戳
$t = mktime(0,0,0,date('m'),date('d'),date('Y'));
echo '今天開始時間UNIX戳為:'.$t.'<br/>轉換成一下格式:'.date('Y-m-d H:i:s',$t);

代碼截圖

PHP mktime()函數用法,PHP獲取指定時間的UNIX時間戳,PHP獲取昨天,今天,明天,本月開始時間戳和結束時間戳的方法

測試結果

PHP mktime()函數用法,PHP獲取指定時間的UNIX時間戳,PHP獲取昨天,今天,明天,本月開始時間戳和結束時間戳的方法

PHP mktime()獲取今天結束時間的UNIX時間戳

我們可以利用上面的代碼,對mktime()參數中的小時,分,秒進行修改即可(修改到今天的最后時間23點59分59秒)

代碼如下

$t = mktime(23,59,59,date('m'),date('d'),date('Y'));
echo '今天結束UNIX戳為:'.$t.'<br/>轉換成一下格式:'.date('Y-m-d H:i:s',$t);

代碼截圖

PHP mktime()函數用法,PHP獲取指定時間的UNIX時間戳,PHP獲取昨天,今天,明天,本月開始時間戳和結束時間戳的方法

代碼運行結果截圖

PHP mktime()函數用法,PHP獲取指定時間的UNIX時間戳,PHP獲取昨天,今天,明天,本月開始時間戳和結束時間戳的方法

PHP mktime()獲取昨天開始與結束時間的UNIX時間戳

如果想獲取昨天開始時間,或結果時間,我們同樣對mktime()傳入的參數做一下調整,這里我們主要針對傳入的天數參數做調整即可

代碼如下

//昨天開始時間
$t = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
echo '昨天開始UNIX戳為:'.$t.'<br/>轉換成一下格式:'.date('Y-m-d H:i:s',$t);
//昨天結束時間
$t = mktime(23,59,59,date('m'),date('d')-1,date('Y'));
echo '昨天結束UNIX戳為:'.$t.'<br/>轉換成一下格式:'.date('Y-m-d H:i:s',$t);

PHP mktime()獲取明天的開始時間與結束時間的UNIX時間戳

這里同樣,我們修改傳日的天數參數來獲取到UNIX時間戳

代碼

//明天開始時間UNIX時間戳
$t = mktime(0,0,0,date('m'),date('d')+1,date('Y'));
echo '明天開始UNIX戳為:'.$t.'<br/>轉換成一下格式:'.date('Y-m-d H:i:s',$t);
//明天結束時間UNIX時間戳
$t = mktime(23,59,59,date('m'),date('d')+1,date('Y'));
echo '明天結束UNIX戳為:'.$t.'<br/>轉換成一下格式:'.date('Y-m-d H:i:s',$t);

PHP mktime()獲取上周開始時間與結束時間的UNIX時間戳

代碼如下

//獲取上周的開始時間UNIX時間戳
$t=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
//獲取上周結束時間UNIX時間戳
$t=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

注意:上面的代碼我們傳入天數的參數改為,獲取周幾的參數,并進行計算去傳入,這里要注意

PHP mktime()函數獲取本月開始時間與結束時間的UNIX時間戳

代碼

//本月開始時間UNIX時間戳
$t=mktime(0,0,0,date('m'),1,date('Y'));
//本月結束時間UNIX時間戳
$t=mktime(23,59,59,date('m'),date('t'),date('Y'));

總結:我們在使用php中mktime()函數的時候,通過對傳入參數的靈活運用,可以發揮很大的作用,當然你還得熟悉運用PHP的 date()函數。