❶ 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那就用兩個日期欄位的時間戳值,進行計算後便可得到相差的天數了。方法和上面的代碼很像。