PHP日期和時間函式之系統時區設定
在PHP中,有兩種更改時區的方法:
第一種:
修改php.ini檔案中的設定,找打[data]下的;date.timezone = 選項,去掉前面的引號,修改為:"date.timezone = Asia/Shanghai",然后重新啟動Apache服務器
第二種:
在應用程式中,需在使用時間日期函式前添加以下函式
date_default_timezone_set(timezone);
<?php header('Content-Type:text/html;charset=utf-8'); echo 'utc時間:'.date('Y-m-d H:i:s').'<br>'; date_default_timezone_set('PRC'); echo '北京時間:'.date('Y-m-d H:i:s');
運行的結果為:
utc時間:2020-05-22 01:40:22
北京時間:2020-05-22 09:40:22
如果將程式上傳到空間中,那么對系統時區設定時,不能修改php.ini檔案,只能使用date_default_timezone_set()函式對時區進行設定,
PHP time()函式獲取當前時間戳實體詳解
注意:有效的時間戳典型范圍是格林威治時間1901年12月13日20:45:54~2038年1月19日03:14:07(此范圍符合32位有符號整數的最小值和最大值),在Windows系統中此范圍限制為從1970年1月1日~2038年1月19日,
time()函式的用法
PHP中,通過time()函式獲取當前的UNIX時間戳,回傳值是從時間戳紀元(格林威治時間1970年1月1日 00:00:00)到當前的秒數,
獲取當前時間戳實體
在本實體中,我們使用time()函式獲取當前本地時間戳,并將時間戳進行格式化輸出,代碼如下
<?php header('Content-Type:text/html;charset=utf-8'); echo '時間戳:'.time().'<br>'; echo '格式化時間:'.date('Y-m-d H:i:s',time()).'<br>'; $nexttime = time()+(7*24*60*60); echo '一周后:'.date('Y-m-d H:i:s',$nexttime);
代碼運行結果如下:
時間戳:1590114337 格式化時間:2020-05-22 02:25:37 一周后:2020-05-29 02:25:37
PHP date()函式獲取當前日期和時間實體詳解
date函式實體一
本實體給大家演示date()函式的用法,代碼如下
<?php header('Content-Type:text/html;charset=utf-8'); echo 'now: '.date('Y-m-d').'<br>';
代碼運行結果:
now: 2020-05-22
date函式實體二
本實體將比較各個常量的輸出有什么不同,示例代碼如下
<?php header('Content-Type:text/html;charset=utf-8'); echo 'DATE_ATOM: '.date(DATE_ATOM).'<br>'; echo 'DATE_COOKIE: '.date(DATE_ATOM).'<br>'; echo 'DATE_ISO8601: '.date(DATE_ATOM).'<br>'; echo 'DATE_PRC822: '.date(DATE_ATOM).'<br>'; echo 'DATE_PRC850: '.date(DATE_ATOM).'<br>'; echo 'DATE_RSS: '.date(DATE_ATOM).'<br>'; echo 'DATE_W3C: '.date(DATE_ATOM).'<br>';
代碼運行結果:
DATE_ATOM: 2020-05-22T02:29:49+00:00 DATE_COOKIE: 2020-05-22T02:29:49+00:00 DATE_ISO8601: 2020-05-22T02:29:49+00:00 DATE_PRC822: 2020-05-22T02:29:49+00:00 DATE_PRC850: 2020-05-22T02:29:49+00:00 DATE_RSS: 2020-05-22T02:29:49+00:00 DATE_W3C: 2020-05-22T02:29:49+00:00
php getdate()函式獲取日期資訊實體詳解
getdate()函式的用法:
getdate()函式是獲取日期指定指定部分的相關資訊,
getdate()函式回傳的關聯陣列元素說明

getdate()函式實體
實體一
本實體使用getdate()函式不帶引數,代碼如下:
<?php header('Content-Type:text/html;charset=utf-8'); print_r(getdate());
運行結果如下圖:

實體二
使用getdate()函式獲取系統當前的日期資訊,并輸出該函式的回傳值,實體代碼如下:
<?php header('Content-Type:text/html;charset=utf-8'); $arr = getdate(); echo $arr['year'].'/'.$arr['mon'].'/'.$arr['mday'].' '; echo $arr['hours'].':'.$arr['minutes'].':'.$arr['seconds'].' '.$arr['weekday'].'<br>'; echo 'today is the '.$arr['yday'].' day of year';
運行結果如下圖:
2020/5/22 2:34:15 Friday
today is the 142 day of year
php checkdate()函式檢驗日期的有效性實體詳解
checkdate()函式語法:
checkdate()函式是檢查日期的有效性,
<?php header('Content-Type:text/html;charset=utf-8'); $year = 2020; $month = 4; $day = 30; var_dump(checkdate($month,$day,$year)); $year = 2020; $month = 4; $day = 31; var_dump(checkdate($month,$day,$year));
運行結果如下圖:
D:\phpstudy_pro\WWW\test\test.php:7:boolean true D:\phpstudy_pro\WWW\test\test.php:12:boolean false
注意引數順序
也可以直接在checkdate()函式里面寫日期
<?php header('Content-Type:text/html;charset=utf-8'); var_dump(checkdate(5,20,2020));
php strtotime()函式將日期和時間決議為UNIX時間戳實體詳解
strotime()函式實體
實體一
使用strotime()函式獲取指定日期的unix時間戳,代碼如下
<?php header('Content-Type:text/html;charset=utf-8'); echo strtotime('2020-5-20');
運行結果:
1589932800
實體二
本實體應用strotime()函式獲取英文格式日期時間字串的UNIX時間戳,并將部分時間輸出,實體代碼如下
<?php header('Content-Type:text/html;charset=utf-8'); echo strtotime('2020-5-22');echo '<br>'; echo strtotime('now');echo '<br>'; echo strtotime('22 May 2020');echo '<br>'; echo strtotime('+7 day');echo '<br>'; echo strtotime('+1 week');echo '<br>'; echo strtotime('+1 week 2 days 3hours 4seconds');echo '<br>'; echo strtotime('next Friday');echo '<br>'; echo strtotime('last Friday');
代碼運行結果:
1590105600 1590115279 1590105600 1590720079 1590720079 1590903683 1590710400 1589500800
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/36390.html
標籤:PHP
上一篇:php字串函式操作實體(2)
下一篇:php日期和時間的應用
