❶ php中,如何实现两个datetime变量相减,得到天数求大神指导
$a=time();//取当前时间
$check_time=strtotime("2013-11-27 09:01:39");//入住时间
$checkout_time=date("Y-m-d H:i:s",$a); //退房时间
$c=$a-$check_time;
$d=date("Y-m-d H:i:s",$c);
echo "入住时间时间戳".$a."<br>";
echo "入住时间格式化".$checkout_time."<br>";
echo "时间差".$c"<br>";
echo "时间差格式化".$d."<br>";
如果满意请采纳
❷ 用PHP制作一张如下图所示的网页,要求输入两个时间,并求出这两个时间相差多少天多少小时多少分钟多少秒
<?php
$d1=strtotime('2011-12-12 12:20');
$d2=strtotime('2012-12-1');
$diff=abs($d1-$d2);
$out='';
$vals=array('天'=>'86400','时'=>'3600','分'=>'60','秒'=>'1');
foreach($vals as $key=>$value){
if($diff>=$value){
$d=round($diff/$value);
$diff%=$value;
$out.=$d.$key;
}
}
echo $out;
?>
❸ php 计算时间差 求某个时间是几分钟之前、几小时之前、几天之前
php计算时间的应用主要有如下几个:
echo "<br>***************用PHP打印出前一天的时间***************<br>";
echo date("Y-m-d ",strtotime(" -1 day"));//昨天
echo '<br>';
echo date("Y-m-d ",strtotime(" +1 day")); //明天
echo "<br>********************输出当前时间*********************<br>";
echo date("Y年m月d日 l H:i:s A"); //2011年08月29日 Monday 04:52:25 AM
echo '<br>';
echo date("y-n-j D h:i:s a"); //11-8-29 Mon 04:52:25 am
echo '<br>';
echo date("Y年n月j日 l G:i:s a",strtotime("now"));//2011年8月29日 Monday 7:56:05 am
echo "<br>*****************两个日期之间的天数******************<br>";
$str1=strtotime("2007-02-08");
$str2=strtotime("now");
print_r (floor(($str2-$str1)/(3600*24)));
echo "<br>**********************倒计时*************************<br>";
$time1=strtotime("2012-7-18 17:30:00");
$time2=strtotime("now");
$sec=$time1-$time2;
$year=floor($sec/3600/24/365);//年
$temp=$sec-$year*365*24*3600;
$month=floor($temp/3600/24/30);//月
$temp=$temp-$month*30*24*3600;
$day=floor($temp/3600/24);//日
$temp=$temp-$day*3600*24;
$hour=floor($temp/3600);//小时
$temp=$temp-$hour*3600;
$minute=floor($temp/60);//分
$second=$temp-$minute*60;//秒
echo "距离培训毕业还有".$year."年".$month."月".$day."天".$hour."小时".$minute."分".$second."秒";
❹ php中,计算指定日期还有多少天
思路是先求两个时间的秒数差,然后将结果转换即可:
echocalcTime('2018-08-20','2018-08-30');
functioncalcTime($fromTime,$toTime){
//转时间戳
$fromTime=strtotime($fromTime);
$toTime=strtotime($toTime);
//计算时间差
$newTime=$toTime-$fromTime;
returnround($newTime/86400).'天'.
round($newTime%86400/3600).'小时'.
round($newTime%86400%3600/60).'分钟';
}
❺ 正在用php做一个简单的mis系统,想实现天数统计功能,例如想得到目标日期距现在还有多少天,请问如何实现
你需要的应该是这个:
<?php
/*
* PHP 时 间相加减
* */
$a="2010-04-10";
$b="2010-6-6";
$day=(strtotime($b)-strtotime($a))/3600/24;
echo "相差".$day."天<br />";
echo date("Y-m-d",mktime(0,0,0,date("m",strtotime($b)),date("d",strtotime($b))-$day,date("Y",strtotime($b))));
?>
❻ php foreach 数组取出划线字段并把update_time与当前时间比较差多少天
第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如: <?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) ?> var_mp($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚 第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看
❼ 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实现两个时间相减,得到相差的天数
<?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
$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计算给定两个日期相差多少天
:
计算方法不只下面介绍的这些,只是一些比较常规的方法:
上面的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那就用两个日期字段的时间戳值,进行计算后便可得到相差的天数了。方法和上面的代码很像。