Php DateTime,多少小时过去了
我有两个时间戳:Php DateTime,多少小时过去了,php,datetime,Php,Datetime,我有两个时间戳: $date1 = new DateTime("2017-08-02T08:00:00.000Z"); $date2 = new DateTime("2017-10-02T17:00:00.000Z"); 我想知道从08:00到17:00这两个时间间隔是多少 它应该24小时返回,3个完整工作日。 <?php $date1 = new DateTime("2017-08-02T10:19:55.022Z"); $date2 = new DateTime("2017-10-0
$date1 = new DateTime("2017-08-02T08:00:00.000Z");
$date2 = new DateTime("2017-10-02T17:00:00.000Z");
我想知道从08:00到17:00这两个时间间隔是多少
它应该24小时返回,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";
?>
获取这两个日期的间隔
$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
是小时间隔的一部分。您可以使用这些属性来获得所需的内容
有关类日期间隔的更多详细信息,请查阅以下官方文档:
StackOverflow希望您在寻求帮助之前能够这样做,而这样做的一部分是为了解决类似的问题。只需几秒钟就能找到你问题的确切答案——可能比写下来的时间要少。以后先搜索以节省您自己的时间:)有关更多信息,请参阅有关的帮助文章,并以:)ty作为答案,但此时它返回0,应该是大约19小时:/i我正在尝试计算这两个日期之间的工作小时数。虽然这可能会回答问题,请添加一个简短的说明,说明您的命令的作用以及它解决初始问题的原因。
<?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));
?>