php要計算兩個時間戳之間相差的日時分秒可以參考以下內(nèi)容:
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供松桃網(wǎng)站建設(shè)、松桃做網(wǎng)站、松桃網(wǎng)站設(shè)計、松桃網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、松桃企業(yè)網(wǎng)站模板建站服務(wù),十載松桃做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
//功能:計算兩個時間戳之間相差的日時分秒
//$begin_time ?開始時間戳
//$end_time 結(jié)束時間戳
function timediff($begin_time,$end_time)
{
if($begin_time $end_time){
$starttime = $begin_time;
$endtime = $end_time;
}else{
$starttime = $end_time;
$endtime = $begin_time;
}
//計算天數(shù)
$timediff = $endtime-$starttime;
$days = intval($timediff/86400);
//計算小時數(shù)
$remain = $timediff%86400;
$hours = intval($remain/3600);
//計算分鐘數(shù)
$remain = $remain%3600;
$mins = intval($remain/60);
//計算秒數(shù)
$secs = $remain%60;
$res = array("day" = $days,"hour" = $hours,"min" = $mins,"sec" = $secs);
return $res;
}
print_r(timediff(strtotime(2015-03-20 16:20:30'),strtotime('2015-05-25 11:10:10')));
PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。
它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。
擴(kuò)展資料:
php相關(guān)語法及概念:
php 支持八種原始類型。
四種標(biāo)量類型:boolean(布爾型) integer(整型) float(浮點(diǎn)型,也作“double”) string(字符串)
兩種復(fù)合類型:array(數(shù)組)object(對象)
最后是兩種特殊類型:resource(資源)NULL
今天:
select?*?from?表名?where?to_days(時間字段名)=to_days(now());
昨天:
SELECT?*?FROM?`表名`?where?TO_DAYS(NOW())?–?TO_DAYS(時間字段名)?=?1;/*DATEDIFF(now()?,?FROM_UNIXTIME(`時間字段名`))?=?1;?//時間字段?存儲類型為時間戳*/
7天:
SELECT?*?FROM?`表名`?where?DATE_SUB(CURDATE(),?INTERVAL?7?DAY)?=?date(時間字段名);/*DATEDIFF(now()?,?FROM_UNIXTIME(`時間字段名`))?=?7;?//時間字段?存儲類型為時間戳*/
近30天:
SELECT?*?FROM ?`表名`?where?DATE_SUB(CURDATE(),?INTERVAL?30?DAY)?=?date(時間字段名);
本月:
SELECT?*?FROM?表名?WHERE?DATE_FORMAT(時間字段名,?'%Y%m'?=?DATE_FORMAT(CURDATE(),?'%Y%m';
詳情請看:
求時間差示例如下:
?php
//定義時間
$t1='2015-05-01';
$t2='2015-05-19';
//將時間轉(zhuǎn)換為時間戳
$str1=strtotime($t1);
$str2=strtotime($t2);
//求時間差
$diff=?$str2-$str1;
//將時間差時間戳轉(zhuǎn)換為天數(shù)或者其他時間單位
echo??$diff/(24*60*60);
?
:
計算方法不只下面介紹的這些,只是一些比較常規(guī)的方法:
上面的php時間日期函數(shù)strtotime已經(jīng)把字符串日期變成了時間戳,這樣只要讓兩數(shù)值相減,然后把秒變成天就可以了,比較的簡單,如下:
$days=round(($enddate-$startdate)/3600/24) ;
下面介紹另外一種方法:
上面判斷的是兩個日期的大小,下面則是判斷生日的程序代碼,得到的$n就是相距生日的天數(shù)。
$birthday=生日;
$birthday = preg_replace(‘/d+/’, Date(‘Y’), $birthday, 1);
$d = 60*60*24;
$n= floor((strtotime($birthday)-time())/$d);$n=$n+1;
還有如果相比的是現(xiàn)在的時間,就可以用time()函數(shù),得到的就是現(xiàn)在的時間戳.
第二種情況呢,就是有數(shù)據(jù)庫,這樣就相對比較容易一些了!如果是MSSQL可以使用觸發(fā)器!用專門計算日期差的函數(shù)datediff()計算便可!
如果是MYSQL那就用兩個日期字段的時間戳值,進(jìn)行計算后便可得到相差的天數(shù)了。方法和上面的代碼很像。