PHP時間和日期

2022-09-17 22:15:13 字數 3990 閱讀 1845

起始時間2023年1月1日至今走過的秒數

time():返回當前時間戳(秒)ps:j**a gettime()返回的是毫秒

microtime(); //- 返回微秒數 當前 unix時間戳,(1s=1000ms,1 ms=1000μs),它的結果是字串,分兩部分,前半部分是微秒(但是單位是秒),後半部分是秒。

返回字串格式示例:0.80238600 1550278914

應用:使用microtime函式獲取毫秒

function

msectime()

計算頁面的執行時間

functionrun_time()

$start_time =run_time();

$end_time =run_time();

echo '該示例的執行時間為'.($end_time - $start_time).'秒';

getdate — 取得日期/時間資訊:arraygetdate([ int$timestamp= time() ] )

返回乙個根據timestamp得出的包含有日期資訊的關聯陣列 array。如果沒有給出時間戳則認為是當前本地時間。 

$arr = getdate();//

使用getdate()函式將當前資訊儲存

print_r($arr

);echo

$arr['year']."-".$arr['mon']."-".$arr['mday']." ";//

返回當前的日期資訊

echo

$arr['hours'].":".$arr['minutes'].":".$arr['seconds']." ".$arr['weekday'];//

返回當前的時間資訊

echo "today is the $arr[yday]th of year";//

輸出今天是一年中的第幾天

獲取伺服器時區date_default_timezone_get();

設定伺服器時區

如果從**返回的不是正確的時間,有可能是因為伺服器位於其他國家或者被設定為不同時區。中國時區可設定為"asia/shanghai"或"prc"

方法1、配置檔案修改

在php.ini裡加上找到date.timezone項,設定date.timezone = "asia/shanghai",重啟環境。

方法2、在頁面新增date_default_timezone_set("prc");

方法3、在頁頭加上設定時區ini_set('date.timezone','asia/shanghai');

設定時區,時區設定不正確會丟擲錯誤:it is not safe to rely on the system's timezone settings.

date函式用於獲取格式化後的日期:stringdate( string$format[, int$timestamp] ),

返回將整數timestamp按照給定的格式字串而產生的字串。

format :必須,規定時間戳的格式。timestamp :可選。規定時間戳。預設值是當前時間戳time()。

常用格式化字元

用於日期

的字元y 

表示年(四位數)

m/n01-12月/1-12月

d/j01-31天/1-31天

w月裡的某周0-6|

1 表示週裡的某天

t某月天數

l是否閏年

用於時間

的字元h/h

00-24時/00-12時

i00-59分

s00-59秒

a/aam或pm/am或pm

其他字元

"/"、 "." 、 "-" 、":"等

插入字元中,以增加其他格式。

閏年定義:

a.能被4整除且不被100整除

b.若能被100整除,則同時要被400整除

//

用三種不同方法格式今天的日期

echo '今天是 ' . date('y/m/d') .'

';echo '今天是 ' . date('y.m.d') .'

';echo '今天是 ' . date('y-m-d') .'

';echo '今天是 ' . date('l').'

';echo '現在時間是 ' . date('h:i:sa').'

';echo '完整的日期和時間是 '.date('y-m-d h:i:sa').'

';echo date("l y-m-d h:i:s t"); //除了時間,再輸出星期及所在時區

使用預定義常量輸出不同格式的時間和日期 

echo "date_atom = ".date

(date_atom);

echo "date_cookie = ".date

(date_cookie);

echo "date_iso8601 = ".date

(date_iso8601);

echo "date_rfc822 = ".date

(date_rfc822);

echo "date_rfc850 = ".date

(date_rfc850);

echo "date_rss = ".date

(date_rss);

echo "date_w3c = ".date(date_w3c)."";

使用mktime函式可以返回指定時間的時間戳:mktime(hour,minute,second,month,day,year) 

$d=mktime(15, 23, 30, 2, 16, 2019);

echo "建立日期是 " . date("y-m-d h:i:sa", $d). "

";//

建立日期是 2019-02-16 03:23:30pm

strtotime() 把日期字串轉成時間戳,用於把人類可讀的字串轉換為 unix 時間。

$d=strtotime("now");

$d=strtotime("3:38pm april 15 2018");

echo

date("y-m-d h:i:sa", $d

);$d=strtotime("tomorrow"); //

明天$d=strtotime("next saturday"); //

下週六$d=strtotime("next week");//

下週$d=strtotime ("last monday");//

上週一$d=strtotime("+3 months"); //

三個小時後

輸出下6個週六的日期:

$startdate = strtotime("saturday");

$enddate = strtotime("+6 weeks",$startdate

);while ($startdate

< $enddate

)

輸出12月31日之前的天數:

$d1=strtotime("december 31");

$d2=ceil(($d1-time())/60/60/24);

echo "距離十二月三十一日還有:" . $d2 ." 天。";

使用checkdate()函式驗證日期

$year = 2008;

$month = 2;

$day1 = 29;

$day2 = 30;

var_dump(checkdate($month,$day1,$year

));var_dump(checkdate($month,$day2,$year));

php時間和日期

時區設定 php中日期和時間的預設設定是 gmt格林尼治,在使用日期和時間是需要對時區進行設定 設定方法 1 修改php.ini檔案的設定。將 date.timezone 選項開啟並設定為 asia hong kong 2 在應用程式中直接使用函式date default timezone set ...

PHP 日期和時間

checkdate函式驗證日期的正確性 date函式將伺服器的時間格式化 getdate獲得時間及日期資訊 time獲取目前時間的unix時間戳。date 通過date函式可以獲取按照指定格式輸出的日期和時間資訊,如果省略引數,會自動獲取本地的當前時間。宣告如下 string date string...

PHP時間和日期管理

1.時間戳 時間戳是從1970年1月1日0時0分0秒 計算機元年 到現在的秒數 作用 方便我們計算使用 參於運算 1970 2038 2.在php中獲取日期和時間 time 返回當前的時間戳 echo time 1458742561 getdate 返回乙個包含日期資訊的陣列 print r get...