本文目录一览:
php 计算两个时间相差多少天
有时可能会碰到这种需求,需要计算两个日期相隔多少天?
下面这个函数很好的解决了这个问题
?php
/*
*
*函数功能:计算两个以YYYY-MM-DD为格式的日期,相差多少天(日)
*return int
*/
function getChaBetweenTwoDate($date1,$date2){
$Date_List_a1=explode("-",$date1);
$Date_List_a2=explode("-",$date2);
$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
$Days=round(($d1-$d2)/3600/24);
return $Days;
}
使用方法如下:
echo getChaBetweenTwoDate('2012-11-20','1949-10-16');
以上代码执行结果将显示为:
23046
意思即这两个日期相差 23046 天。
计算php时间相差多少天,多少
/**
* 计算时间差
* @param int $timestamp1 时间戳开始
* @param int $timestamp2 时间戳结束
* @return array
*/
function time_diff($timestamp1, $timestamp2)
{
if ($timestamp2 = $timestamp1)
{
return ['hours'=0, 'minutes'=0, 'seconds'=0];
}
$timediff = $timestamp2 - $timestamp1;
用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那就用两个日期字段的时间戳值,进行计算后便可得到相差的天数了。方法和上面的代码很像。
怎样用php实现两个时间相减,得到相差的天数
?php
$time1 = mktime(10,20,30,2,5,2000); //2000-2-5 10:20:30
$time2 = mktime(18,30,20,5,2,2000); //2000-5-2 18:30:20
$diff = (int)(($time2-$time1)/(24*3600));
echo "$time2 和 $time1 的时间差为:" . $diff . "天br";
?