我有兩個時間戳:日期時間,多少個小時過去了
$date1 = new DateTime("2017-08-02T08:00:00.000Z");
$date2 = new DateTime("2017-10-02T17:00:00.000Z");
我需要知道幾個小時是如何這兩個之間,00至08:00至17:00。
它應該返回24h,3個完整的工作日。
我有兩個時間戳:日期時間,多少個小時過去了
$date1 = new DateTime("2017-08-02T08:00:00.000Z");
$date2 = new DateTime("2017-10-02T17:00:00.000Z");
我需要知道幾個小時是如何這兩個之間,00至08:00至17:00。
它應該返回24h,3個完整的工作日。
<?php
$date1 = new DateTime("2017-08-02T10:19:55.022Z");
$date2 = new DateTime("2017-10-02T10:19:55.022Z");
$interval = $date1 ->diff($date2);
echo $interval->format('%h')." Hours ".$interval->format('%i')." Minutes";
?>
ty爲答案,但在這一點上它返回我0,它應該是約19h:/ im以此來計算這兩個日期之間的工作時間。 –
獲取這兩個日期的間隔;
$date1 = new DateTime("2017-08-02T10:19:55.022Z");
$date2 = new DateTime("2017-10-02T10:19:55.022Z");
$diff = $date1 ->diff($date2);
$diff
低於DateInterval像的一個實例:
DateInterval {#727
+"y": 0,
+"m": 2,
+"d": 0,
+"h": 0,
+"i": 0,
+"s": 0,
+"weekday": 0,
+"weekday_behavior": 0,
+"first_last_day_of": 0,
+"invert": 0,
+"days": 61,
+"special_type": 0,
+"special_amount": 0,
+"have_weekday_relative": 0,
+"have_special_relative": 0,
}
所以,$diff->d
是天的間隔$diff->h
的一部分小時間隔的一部分。你可以使用這些屬性來獲得你想要的。類DateInterval的
更多詳細信息,請結帳這個官方文檔: http://php.net/manual/en/class.dateinterval.php
<?php
$date1 = new DateTime("2017-08-02T10:19:55.022Z");
$date2 = new DateTime("2017-10-02T10:19:55.022Z");
$interval = $date1->getTimestamp() -$date2->getTimestamp();
echo abs($interval/(60*60));
?>
雖然這可能會回答這個問題,但請添加一條關於您的命令的簡短描述,以及爲什麼它解決了最初的問題。 – user1438038
的StackOverflow希望你[**嘗試解決你自己的問題**](http://meta.stackoverflow.com/questions/261592),然後尋求幫助,部分原因是[**搜索**](http://stackoverflow.com/search)出現類似問題。花了幾秒鐘才找到問題的確切答案 - 可能比編寫它的時間少。以後再搜索以節省時間:)有關詳細信息,請參閱有關[**如何提出良好問題**](http://stackoverflow.com/help/how-to-ask)的幫助文章,並採取[**網站**遊覽](http://stackoverflow.com/tour)) –