① 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里有没有计算两个时间相隔的天数的函数
/**
* 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
/**
*求两个日期之间相差的天数
*(针对1970年1月1日之后,求之前可以采用泰勒公式)
*@paramstring$day1
*@paramstring$day2
*@returnnumber
*/
functiondiffBetweenTwoDays($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." ";
④ 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时间差(天时分)
注意在PHP中写进行时间的运算都是将时间转化为时间戳进行运算!
时间戳是当前时间距离1970年01月01日 00:00:00的秒数,在PHP中用
strtotime()函数将其时间转化为时间戳
用法如下:
strtotime($date)
功能:将任何英文文本的日期时间描述解析为 Unix 时间戳,也可以是2010-01-01 12:21:22这种形式
参数:要转化的时期
返回值:整型值
如果是想得到当前时间的时间戳可以用time()
想要获得某个时间戳的时间可以用date(),该函数默认当前时间的戳!
date("Y-m-d H:i:s",$stamptime)
功能:格式化一个本地时间/日期
参数:第一个是时间格式字符串(上面是一个例子,还有许多的格式字符),第二个是时间戳
返回值:时间字符串
好了,应该够用!
祝你成功!
⑥ php计算两个时间之间的天数
<?php
$days=cal_days_in_month(CAL_GREGORIAN,4,2011);
echo"返回2011-4的天数".$days."<br/>";
$days=date('t',strtotime("2011-4-1"));
echo"返回2011-4的天数".$days."<br/>";
$days=date("t");
echo"当前月的天数".$days."<br/>";
$thisday=date("d",time());
//循环当前天数到当前月底日期
for($i=$thisday;$i<=$days;$i++){
//在这里进行循环,如果跨几个月的话,就外层再加一个循环月份的就可以了
}
?>
⑦ 计算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 时间差计算方法
把你的两个时间输出
用strtotime函数计算出一个值
用大值减小值,然后用ceil函数算出一个值 即位多少秒 ,/60为分 /60/60 为小时 /24/60/60 为天 不懂追问
⑨ 怎样用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>";
?>
⑩ 用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那就用两个日期字段的时间戳值,进行计算后便可得到相差的天数了。方法和上面的代码很像。