我有兩次像10:00 am
和7:00 pm
。如何從兩次計算兩小時?
而從這個我想獲得總小時數。從那時起,我必須得到9個小時。
我該怎麼做?
我與:
爆炸,但隨後它從10減去7,並返回結果3這是不正確,因爲它應該返回9
我有兩次像10:00 am
和7:00 pm
。如何從兩次計算兩小時?
而從這個我想獲得總小時數。從那時起,我必須得到9個小時。
我該怎麼做?
我與:
爆炸,但隨後它從10減去7,並返回結果3這是不正確,因爲它應該返回9
<?php echo strtotime('7:00 pm')-strtotime('10:00 am');?>
獲取時間戳差異
編輯
回波(的strtotime('07:00 ') - 的strtotime('10:00'))/(60 * 60); //顯示9
60 * 60 = 1小時
編輯
$fromTime = '3:00 pm';
$toTime = '12:00 am';
$timediff = (strtotime($toTime)-strtotime($fromTime))/(60*60);
echo $timediff >= 0 ? $timediff : (24 + $timediff);
您可以使用PHP的strtotime功能將其轉換爲UNIX時間,所以你可以做進一步的計算用它。
我認爲你可以得到的am
或pm
信息保持!有了這些信息,你可以使if()
更正確!
If()
這是PM,增加12小時,如果不是下午,沒有做任何事情。
與您對比的時間做到這一點:
if (pm==1){
time+=12;
}
所以10:00 am = false
這將是10:00 和7:00 pm = true
這將是19:00
19:00 - 10:00 = 9 hours = win
。
我覺得這會幫助你更有效地
<?php echo date('H:i:s',strtotime('7:00 pm')-strtotime('10:00 am'));?>
使用日期時間界面,其簡單的
$day1= new DateTime("today 01:33:26am");
$dayd2= new DateTime("today 10:40:36pm"); //Output: Hours: 21
$interval= $day1->diff($day2);
$h = ($interval->days * 24) + $interval->h;
echo "Hours: ".$h
這裏 H =小時數。 $ interval->天指多少天差得到,如果我們得到一(1)天那麼它加1 * 24(小時)= 24 + 21 46例小時的,但這裏DAY1和DAY2包含今天這樣,那意味着0 * 24 = 0 + 21 = 21
最後輸出:21小時的
但它返回它的時間戳。我想要9號。 – Ahmad 2012-03-16 06:27:46
@Ahmad我已編輯答案 – 2012-03-16 06:36:01
但下午3點--12點返回15.這是不正確的。 – Ahmad 2012-03-16 06:47:46