php計(jì)算兩個(gè)日期時(shí)間差(返回年、月、日)
在PHP程序中,很多時(shí)候都會(huì)遇到處理時(shí)間的問題,比如:判斷用戶在線了多長(zhǎng)時(shí)間,共登錄了多少天,兩個(gè)帖子發(fā)布的時(shí)間差或者是不同操作之間的日志記錄等等。在文章中,簡(jiǎn)單地舉例介紹了PHP中如何計(jì)算兩個(gè)日期相差 年、月、日。
<?php
/**
+----------------------------------------------------------
* 功能:計(jì)算兩個(gè)日期相差 年 月 日
+----------------------------------------------------------
* @param date $date1 起始日期
* @param date $date2 截止日期日期
+----------------------------------------------------------
* @return array
+----------------------------------------------------------
*/
function DiffDate($date1, $date2) {
if (strtotime($date1) > strtotime($date2)) {
$ymd = $date2;
$date2 = $date1;
$date1 = $ymd;
}
list($y1, $m1, $d1) = explode('-', $date1);
list($y2, $m2, $d2) = explode('-', $date2);
$y = $m = $d = $_m = 0;
$math = ($y2 - $y1) * 12 + $m2 - $m1;
$y = round($math / 12);
$m = intval($math % 12);
$d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400;
if ($d < 0) {
$m -= 1;
$d += date('j', mktime(0, 0, 0, $m2, 0, $y2));
}
$m < 0 && $y -= 1;
return array($y, $m, $d);
}
?>
相關(guān)文章
php二維數(shù)組按某個(gè)鍵值排序的實(shí)例講解
今天小編就為大家分享一篇關(guān)于php二維數(shù)組按某個(gè)鍵值排序的實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
ThinkPHP進(jìn)程計(jì)數(shù)類Process用法實(shí)例詳解
這篇文章主要介紹了ThinkPHP進(jìn)程計(jì)數(shù)類Process用法,以實(shí)例形式較為詳細(xì)的分析了Process類的定義及進(jìn)程計(jì)數(shù)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
thinkPHP框架動(dòng)態(tài)配置用法實(shí)例分析
這篇文章主要介紹了thinkPHP框架動(dòng)態(tài)配置用法,結(jié)合實(shí)例形式分析了thinkPHP3.0之前的動(dòng)態(tài)配置操作技巧及緩存相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-06-06
php實(shí)現(xiàn)HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類實(shí)例
本篇文章主要介紹了"php實(shí)現(xiàn)HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類實(shí)例",主要涉及到HTML實(shí)體編號(hào)與非ASCII字符串相互轉(zhuǎn)換類方面的內(nèi)容,感興趣的同學(xué)可以參考一下。2016-11-11
PHP autoload與spl_autoload自動(dòng)加載機(jī)制的深入理解
本篇文章是對(duì)PHP中的autoload與spl_autoload自動(dòng)加載機(jī)制進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

