php常用日期時間函數(shù)實(shí)例小結(jié)
本文實(shí)例講述了php常用日期時間函數(shù)。分享給大家供大家參考,具體如下:
時間戳
時間戳我就不贅述了,手冊里有,就是能精確的表示一個時間點(diǎn)。我在做項(xiàng)目的時候經(jīng)常用時間戳來表示數(shù)據(jù),這樣比較方便,如果保存為日期時間型的數(shù)據(jù),顯示的時候可能比較省事,但是如果是獲取這個日期的某個年份或月份,就比較麻煩了。
<?php echo time();//返回一個以秒為單位的時間戳 :1467968841 echo microtime(true);//返回一個以毫秒為單位的時間戳 :1467968841.4155 echo microtime();//返回帶毫秒和秒的時間戳 :0.41553000 1467968841,前面是毫秒小數(shù),后面是秒數(shù) ?>
時間戳格式化
1、date($format,$timestamp):在當(dāng)前使用的時區(qū)下格式化時間戳
2、gmdate($format,$timestamp):指定UTC時區(qū)下格式化時間戳,不論用戶使用什么時區(qū)
時區(qū)的概念:時區(qū)是按照地點(diǎn)設(shè)置的時間,中國屬于東8區(qū),所以比UTC(格林尼治時間)要快8個小時
獲取和設(shè)置時區(qū)
date_default_timezone_get()//獲得當(dāng)前使用的時區(qū),默認(rèn)情況下應(yīng)該是UTC date_default_timezone_set(‘Asia/Shanghai')//設(shè)置當(dāng)前的時區(qū)為亞洲上海
<?php
echo date("Y-m-d 星期N H:i:s a",$time);//2016-07-08 星期5 10:44:26 am(默認(rèn)時區(qū)下)
echo date("Y-m-d 星期N H:i:s a",0);//1970-01-01 星期4 00:00:00(默認(rèn)時區(qū)下)
echo gmdate("Y-m-d 星期N H:i:s a",0);//1970-01-01 星期4 00:00:00(全部在UTC時區(qū)下)
?>
解析時間格式變?yōu)闀r間戳
1、mktime():將制定的時間格式解析成時間戳
<?php echo mktime(19,15,0,7,8,2016);//獲取2016年8月7日19時15分0秒的時間戳 ?>
2、strtotime():將任何英文文本的日期時間描述解析為時間戳
<?php
echo strtotime("2016-7-8 19:15:0");//獲取2016年8月7日19時15分0秒的時間戳
echo strtotime("now");//獲取現(xiàn)在得時間戳
echo strtotime("+1 day");//當(dāng)前時間往后推一天的時間戳
echo strtotime("-1 day");//當(dāng)前時間往前推一天的時間戳
?>
3、checkdate():檢測輸入的日期是否存在
<?php var_dump(checkdate(2,29,2015));//2015年2月29日不存在,所以是false var_dump(checkdate(2,29,2016));//2016年2月29日存在,所以是true ?>
案例:計算兩個日期的日期差數(shù)
1、用時間戳來計算
<?php $day1 = "2016-7-8"; $day2 = "2016-7-1"; echo (strtotime($day1) - strtotime($day2))/(24 * 60 * 60); ?>
2、用DateTime類來計算
<?php
$datetime1 = new DateTime('2016-7-8');
$datetime2 = new DateTime('2016-7-1');
$interval = $datetime2->diff($datetime1);
echo $interval->format('%R%a days');
?>
PS:這里再為大家推薦幾款時間及日期相關(guān)工具供大家參考:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計算器/相差天數(shù)計算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php日期與時間用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP實(shí)現(xiàn)讀取Excel文件的記錄(二)
在前文中介紹的方法有些麻煩,因?yàn)楸仨氁虞d很多的文件。本文介紹的方法簡單了很多,只需要加載兩個文件即可。需要的可以參考一下2022-03-03
php下圖片文字混合水印與縮略圖實(shí)現(xiàn)代碼
php中圖片文字混合水印與縮略圖的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2009-12-12
學(xué)習(xí)php設(shè)計模式 php實(shí)現(xiàn)原型模式(prototype)
這篇文章主要介紹了php設(shè)計模式中的原型模式,使用php實(shí)現(xiàn)原型模式,感興趣的小伙伴們可以參考一下2015-12-12
WordPress開發(fā)中用于獲取近期文章的PHP函數(shù)使用解析
這篇文章主要介紹了WordPress開發(fā)中用于獲取近期文章的PHP函數(shù)使用解析,即對wp_get_recent_posts函數(shù)的使用方法介紹,需要的朋友可以參考下2016-01-01
PHP spl_autoload_register實(shí)現(xiàn)自動加載研究
spl_autoload_register()函數(shù)應(yīng)該是主流框架使用最多的也是非常核心的函數(shù)之一,可實(shí)現(xiàn)自動注冊函數(shù)和類,實(shí)現(xiàn)類似__autoload() 函數(shù)功能,簡化了類的調(diào)用與加載,提高了工作的效率2011-12-12

