如何使用PHP找到两个日期之间的天数?
当前回答
如果你正在使用MySql
function daysSince($date, $date2){
$q = "SELECT DATEDIFF('$date','$date2') AS days;";
$result = execQ($q);
$row = mysql_fetch_array($result,MYSQL_BOTH);
return ($row[0]);
}
function execQ($q){
$result = mysql_query( $q);
if(!$result){echo ('Database error execQ' . mysql_error());echo $q;}
return $result;
}
其他回答
如果你有以秒为单位的时间(即unix时间戳),那么你可以简单地减去时间并除以86400(秒/天)
这段代码为我工作,并用PHP 8版本测试:
function numberOfDays($startDate, $endDate)
{
//1) converting dates to timestamps
$startSeconds = strtotime($startDate);
$endSeconds = strtotime($endDate);
//2) Calculating the difference in timestamps
$diffSeconds = $startSeconds - $endSeconds;
//3) converting timestamps to days
$days=round($diffSeconds / 86400);
/* note :
1 day = 24 hours
24 * 60 * 60 = 86400 seconds
*/
//4) printing the number of days
printf("Difference between two dates: ". abs($days) . " Days ");
return abs($days);
}
将日期转换为unix时间戳,然后从另一个时间戳中减去一个日期。这将得到以秒为单位的差值,然后除以86400(一天中的秒数),得到该范围内的大约天数。
如果你的日期格式为25.1.2010,01/25/2010或2010-01-25,你可以使用strtotime函数:
$start = strtotime('2010-01-25');
$end = strtotime('2010-02-20');
$days_between = ceil(abs($end - $start) / 86400);
使用ceil将天数四舍五入到下一个全天。如果您希望获得这两个日期之间的完整天数,则使用floor。
如果日期已经是unix时间戳格式,则可以跳过转换,只执行$days_between部分。对于更奇特的日期格式,您可能必须进行一些自定义解析以使其正确。
PHP中两个日期之间的天数
function dateDiff($date1, $date2) //days find function
{
$diff = strtotime($date2) - strtotime($date1);
return abs(round($diff / 86400));
}
//start day
$date1 = "11-10-2018";
// end day
$date2 = "31-10-2018";
// call the days find fun store to variable
$dateDiff = dateDiff($date1, $date2);
echo "Difference between two dates: ". $dateDiff . " Days ";
$start = '2013-09-08';
$end = '2013-09-15';
$diff = (strtotime($end)- strtotime($start))/24/3600;
echo $diff;
推荐文章
- MySQL中两个日期之间的差异
- Sql Server字符串到日期的转换
- 阻止人们入侵基于php的Flash游戏高分表的最佳方法是什么
- PHP子字符串提取。获取第一个'/'之前的字符串或整个字符串
- __construct函数的作用是什么?
- PHP中的异步shell执行器
- Laravel 5 -如何访问在视图存储上传的图像?
- 为什么在PHP中使用sprintf函数?
- “质量分配”在Laravel中是什么意思?
- 在逗号上爆炸字符串,并修剪每个值的潜在空格
- 设置NOW()为datetime数据类型的默认值?
- 在MySQL中Datetime等于或大于今天
- PHP与MySQL 8.0+错误:服务器请求身份验证方法未知的客户端
- 如何改变日期时间格式在熊猫
- laravel5“LIKE”对等物(雄辩的)