有时可能会碰到这种需求,需要计算两个日期相隔多少天?
下面这个函数很好的解决了这个问题
php
/*
*
*函数功能:计算两个以YYYY-MM-DD为格式的日期,相差多少天(日)
*return int
*/
$Date_List_a1=explode("-",$date1);
return $Days;
}
使用方法如下:
以上代码执行结果将显示为:
/**
* 计算时间差
* @param int $timestamp1 时间戳开始
* @return array
{
return ['hours'=0, 'minutes'=0, 'seconds'=0];
:
计算方法不只下面介绍的这些,只是一些比较常规的方法:
上面的php时间日期函数strtotime已经把字符串日期变成了时间戳,这样只要让两数值相减,然后把秒变成天就可以了,比较的简单,如下:
下面介绍另外一种方法:
上面判断的是两个日期的大小,下面则是判断生日的程序代码,得到的$n就是相距生日的天数.
$birthday=生日;
$birthday = preg_replace('/d◆/', Date('Y'), $birthday, 1);
$n= floor((strtotime($birthday)-time())/$d);$n=$n◆1;
还有如果相比的是现在的时间,就可以用time()函数,得到的就是现在的时间戳.
第二种情况呢,就是有数据库,这样就相对比较容易一些了!如果是MSSQL可以使用触发器!用专门计算日期差的函数datediff()计算便可!
如果是MYSQL那就用两个日期字段的时间戳值,进行计算后便可得到相差的天数了.方法和上面的代码很像.