我們可以先看看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 有兩個引數,第乙個是格式化時間戳的格式 例如下 第二個引數,要格...