本文目錄一覽:
PHP中怎樣計算兩個日期相差的天數
?php
/**
* 求兩個日期之間相差的天數
* (針對1970年1月1日之後,求之前可以採用泰勒公式)
* @param string $day1
* @param string $day2
* @return number
*/
function diffBetweenTwoDays ($day1, $day2)
{
$second1 = strtotime($day1);
$second2 = strtotime($day2);
if ($second1 $second2) {
$tmp = $second2;
$second2 = $second1;
$second1 = $tmp;
}
return ($second1 – $second2) / 86400;
}
$day1 = “2013-07-27”;
$day2 = “2013-08-04”;
$diff = diffBetweenTwoDays($day1, $day2);
echo $diff.”\n”;
php里有沒有計算兩個時間相隔的天數的函數
/**
* function:計算兩個日期相隔多少年,多少月,多少天
* param string $date1[格式如:2011-11-5]
* param string $date2[格式如:2012-12-01]
* return array array(‘年’,’月’,’日’);
*/
function diffDate($date1,$date2)
{
$datetime1 = new \DateTime($date1);
$datetime2 = new \DateTime($date2);
$interval = $datetime1-diff($datetime2);
$time[‘y’] = $interval-format(‘%Y’);
$time[‘m’] = $interval-format(‘%m’);
$time[‘d’] = $interval-format(‘%d’);
$time[‘h’] = $interval-format(‘%H’);
$time[‘i’] = $interval-format(‘%i’);
$time[‘s’] = $interval-format(‘%s’);
$time[‘a’] = $interval-format(‘%a’); // 兩個時間相差總天數
return $time;
}
# 使用實例
$sss = diffDate(‘2015-12-25 12:30:30’, ‘2015-12-26 15:00:00’);
print_r($sss);
# 輸出
Array
(
[y] = 00
[m] = 0
[d] = 1
[h] = 02
[i] = 29
[s] = 30
[a] = 1
)
用php計算給定兩個日期相差多少天
:
計算方法不只下面介紹的這些,只是一些比較常規的方法:
上面的php時間日期函數strtotime已經把字符串日期變成了時間戳,這樣只要讓兩數值相減,然後把秒變成天就可以了,比較的簡單,如下:
$days=round(($enddate-$startdate)/3600/24) ;
下面介紹另外一種方法:
上面判斷的是兩個日期的大小,下面則是判斷生日的程序代碼,得到的$n就是相距生日的天數。
$birthday=生日;
$birthday = preg_replace(『/d+/』, Date(『Y』), $birthday, 1);
$d = 60*60*24;
$n= floor((strtotime($birthday)-time())/$d);$n=$n+1;
還有如果相比的是現在的時間,就可以用time()函數,得到的就是現在的時間戳.
第二種情況呢,就是有數據庫,這樣就相對比較容易一些了!如果是MSSQL可以使用觸發器!用專門計算日期差的函數datediff()計算便可!
如果是MYSQL那就用兩個日期字段的時間戳值,進行計算後便可得到相差的天數了。方法和上面的代碼很像。
原創文章,作者:IXPIA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330945.html