PHP高階(第九彈 日期時間函式)

2021-08-08 04:45:19 字數 2638 閱讀 6084

我們可以先看看php是否已經有了日期時間庫的擴充套件:

<?php

phpinfo();

執行該檔案,可以搜到,date/time support是enabled的,說明已經有這個擴充套件了。

在phpinfo()中可以看到,預設的時區default timezone為utc。

可以使用date_default_timezone_get()來獲取時區。

可以通過幾種方法設定時區

修改php配置檔案data.timezone設定時區。

開啟php.ini,找到date.timezone,設定為中國的時區如prc,儲存檔案,重啟伺服器即可。

可以在上搜尋date_default_timezone_set,找到所支援的時區列表。

date_default_timezone_set('asia/shanghai');

ini_get('date.timezone');

ini_set('date.timezone','asia/shanghai');

要注意,使用這兩個函式時,需要配置檔案中相應的配置項開啟才行(即在配置檔案中該配置項沒有使用分號注釋掉)。並且不是所有的配置項都能用這兩個函式設定和獲取。具體用法可參見php手冊。

date()函式非常常用,常用引數如下(注意大小寫):

format

說明返回值

y4位完整的年份

例如2017

y2位年份

例如17

m月份,帶前導零

01~12

d月份中的第幾天,帶前導零

01~31

h小時,24小時格式,帶前導零

00~23

i分鐘,帶前導零

00~59

s秒鐘,帶前導零

00~59 如:

echo date('y年m月d日');

echo date('y-m-d');

echo date('y/m/d h:i:s');

還有更多的format,具體可參見php手冊:/,搜尋date即可。

使用time()可以獲取當前的時間戳。

時間戳是指從2023年1月1日00:00:00到當前時間所經歷的秒數。

date()函式的第二個引數是乙個時間戳,預設傳的就是當前的時間戳,

date('y-m-d')date('y-m-d',time())是一樣的。

想要得到一天後的日期:

echo date('y-m-d h:i:s',time()+24

*3600);

如果想要把日期轉換成時間戳,可以使用mktime()函式,通常用於計算兩個日期的時間差,如:

$birth=mktime(0,0,0,10,1,2000);

$now=time();

$age=floor(($now-$birth)/(24

*3600

*365));

echo $age;

更多使用可參照php手冊。

這個函式可以將任何字串的日期時間描述解析為 unix 時間戳,如想要獲取後一天的日期:

echo strtotime("now"), "\n";

echo strtotime("10 september 2000"), "\n";

echo strtotime("+1 day"), "\n";

echo strtotime("+1 week"), "\n";

echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";

echo strtotime("next thursday"), "\n";

echo strtotime("last monday"), "\n";

echo date('y-m-d h:i:s',strtotime('+1 day')),'

';echo date('y-m-d h:i:s',strtotime('+2 days')),'

';echo date('y-m-d h:i:s',strtotime('-1 day')),'

';echo date('y-m-d h:i:s',strtotime('+1 month')),'

';echo date('y-m-d h:i:s',strtotime('+2 years')),'

';echo date('y-m-d h:i:s',strtotime('+2 years 5 months 10 days')),'

';

更多用法參見php手冊。

如:

type="date" name="datetime" id="" />

type="datetime-local" name="datetime1" id="" />

type="month" name="month" id="" />

type="week" name="week" id="" />

type="time" name="time" id="" />

PHP日期時間函式的高階應用技巧

php的日期時間函式date 中介紹了php日期時間函式的簡單用法,這類將介紹更多的函式來豐富我們的應用。checkdate month,date,year 如果應用的值構成乙個有效日期,則該函式返回為真。例如,對於錯誤日期2005年2月31日,此函式返回為假。在日期用於計算或儲存在資料庫中之前,可...

PHP 日期時間函式

1.設定時區 a 修改php配置檔案date.timezone設定時區 b 通過date default timezone set 動態設定時區 c 通過ini set 動態設定時區 asia shanghai 或者prc date default timezone set prc 2.date 函...

PHP 日期時間函式 PHP實現日曆

php日期時間函式一般用在按時間查詢統計資訊 time 返回當前時間的時間戳 microtime 返回當前unix時間戳和微秒數 注 所謂的時間戳就是從1970年1月1日 00 00 00 到當前時間的秒數 時間戳格式化函式 date 有兩個引數,第乙個是格式化時間戳的格式 例如下 第二個引數,要格...