php日期和時間函數超全詳解!!!

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章