php 08 php時間與日期

2021-08-02 05:50:50 字數 2230 閱讀 2995

1.unix時間戳

unix 時間戳(英文叫做:timestamp)是 php 中關於時間與日期的乙個很重要的概念,它表示從 2023年1月1日 00:00:00 到當前時間的秒數之和。

php提供了內建函式 time() 來取得伺服器當前時間的時間戳。那麼獲取當前的unix時間戳就很簡單了。

$time = time();

echo $time;//1396193923,這個數字表示從2023年1月1日 00:00:00 到我輸出這個指令碼時經歷了1396193923秒

2.獲取當前日期

php內建了date()函式,來取得當前的日期。

函式說明:date(時間戳的格式, 規定時間戳【預設是當前的日期和時間,可選】)

返回值:函式日期和時間

例子://date函式,第二個引數取預設值的情況

echo date("y-m-d");//2017-06-06

//date函式,第二個引數有值的情況

echodate("y-m-d",'1396193923');//2014-03-30,1396193923表示2014-03-30的unix時間戳

3. 取得日期的unix時間戳

unix 時間戳(英文叫做:timestamp)是 php 中關於時間與日期的乙個很重要的概念,它表示從 2023年1月1日 00:00:00 到當前時間的秒數之和。

php提供了內建函式strtotime實現功能:獲取某個日期的時間戳,或獲取某個時間的時間戳。例如:

echo strtotime('2014-04-29');//1398700800,這個數字表示從2023年1月1日 00:00:00 到2023年4月29號經歷了1398700800秒

echo strtotime('2014-04-29 00:00:01');//1398700801,這個數字表示從2023年1月1日 00:00:00 到2014-04-29 00:00:01時經歷了1398700801秒

其實strtotime('2014-04-29')相當於strtotime('2014-04-29 00:00:00')

4. 將格式化的日期字串轉換為unix時間戳

strtotime函式預期接受乙個包含美國英語日期格式的字串並嘗試將其解析為 unix 時間戳。

函式說明:strtotime(要解析的時間字串, 計算返回值的時間戳【預設是當前的時間,可選】)

返回值:成功則返回時間戳,否則返回 false

比如echo strtotime("now");//相當於將英文單詞now直接等於現在的日期和時間,並把這個日期時間轉化為unix時間戳。這個效果跟echo time();一樣。

echo strtotime("+1 seconds");//相當於將現在的日期和時間加上了1秒,並把這個日期時間轉化為unix時間戳。這個效果跟echo time()+1;一樣。

echo strtotime("+1 day");//相當於將現在的日期和時間加上了1天。

echo strtotime("+1 week");//相當於將現在的日期和時間加上了1周。

echo strtotime("+1 week 3 days 7 hours5 seconds");//相當於將現在的日期和時間加上了1周3天7小時5秒。

5. 格式化格林威治(gmt)標準時間

gmdate 函式能格式化乙個gmt的日期和時間,返回的是格林威治標準時(gmt)。

舉個例子,我們現在所在的中國時區是東八區,領先格林威治時間8個小時,有時候也叫gmt+8,那麼伺服器執行以下指令碼返回的時間應該是這樣的:

當前時間假定是2014-05-01 15:15:22

echo date('y-m-d h:i:s', time()); //輸出為:2014-05-01 15:15:22

echo gmdate('y-m-d h:i:s', time()); //輸出為:2014-05-01 07:15:22 因為格林威治時間是現在中國時區的時間減去8個小時,所以相對於現在時間要少8個小時

<?php

//設定預設時區是中國

date_default_timezone_set("asia/shanghai");

//返回2014-05-0112:00:01的格林威治標準時間

echo gmdate('y-m-dh:i:s',strtotime('2014-05-01 12:00:01'));

PHP時間戳與日期

時間戳轉換函式 date y m d h i s time y m d h i s 是轉換後的日期格式,time 是獲得當前時間的時間戳。如果是date y m d h i s time 則小時分秒一起顯示 date y m d h i s time 列印結果為 2020 6 15 18 05 31...

php時間戳與日期互轉

php時間大的來分有兩種,一是時間戳型別 1228348800 二是正常日期格式 2008 12 4 所以存到資料庫也有兩種形式了 真正不止,我的應用就兩種 時間戳型別我是儲存為字串的,這個是比較方便的.正常日期型別是儲存為date型的.這兩個要注意一下,我平時用兩種,所以,前幾天建的表,把時間型別...

php時間戳與日期互轉

php時間大的來分有兩種,一是時間戳型別 1228348800 二是正常日期格式 2008 12 4 所以存到資料庫也有兩種形式了 真正不止,我的應用就兩種 時間戳型別我是儲存為字串的,這個是比較方便的.正常日期型別是儲存為date型的.這兩個要注意一下,我平時用兩種,所以,前幾天建的表,把時間型別...