Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何计算PHP中两个日期之间的小时差?_Php_Date_Datetime_Dateinterval - Fatal编程技术网

如何计算PHP中两个日期之间的小时差?

如何计算PHP中两个日期之间的小时差?,php,date,datetime,dateinterval,Php,Date,Datetime,Dateinterval,对于另一个问题来说,这听起来很不可能 我有两小时的航程 $start = 18:00; $end = 2:00; the result 8 hours. 样本二 $start = 17:30; $end = 2:00; result 7.5 Hours. 如何在PHP代码中实现这一点。面向对象风格: <?php $datetime1 = new DateTime('2015-04-13 18:00'); $datetime2 = new DateTime('2015-04-14

对于另一个问题来说,这听起来很不可能

我有两小时的航程

$start = 18:00;
$end = 2:00;

the result 8 hours.
样本二

$start = 17:30;
$end = 2:00; 

result 7.5 Hours.

如何在PHP代码中实现这一点。

面向对象风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

程序风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

您可以在以下网址阅读更多内容:


面向对象风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

程序风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

您可以在以下网址阅读更多内容:


面向对象风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

程序风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

您可以在以下网址阅读更多内容:


面向对象风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

程序风格:

<?php
$datetime1 = new DateTime('2015-04-13 18:00');
$datetime2 = new DateTime('2015-04-14 02:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H:%I hours');
?>
<?php
$datetime1 = date_create('2015-04-13 17:30');
$datetime2 = date_create('2015-04-14 02:00');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%H:%I hours');
?>

您可以在以下网址阅读更多内容:



将它们转换为
DateTime
,然后减去时间。我认为第二个例子应该是
8.5
小时。对吗?你解决你的问题了吗?把它们转换成
DateTime
,然后减去时间。我认为第二个例子应该是
8.5
小时。对吗?你解决你的问题了吗?把它们转换成
DateTime
,然后减去时间。我认为第二个例子应该是
8.5
小时。对吗?你解决你的问题了吗?把它们转换成
DateTime
,然后减去时间。我认为第二个例子应该是
8.5
小时。是吗?你解决了你的问题吗?这对
DateTime
来说有点危险:它不是专门为时间算术设计的(因此得名为-DateTime),所以你可能会遇到夏季时间的问题。@zerkms你为这些情况推荐了哪种函数?对于这个特定的任务,我会手动计算它,这很简单:寻找一个像样的会花费更多的时间。@zerkms我不会说这很危险,而是专门为解决这类问题而设计的。值得注意的是,如果你在夜间从美国东部夏令时切换到美国东部夏令时,那么间隔时间实际上应该缩短一个小时。正确的方法是以UTC管理所有时间,或者确保从第一个日期时区显式加载第二个日期时间和日期时区。@Josh Fromqaribou只有在有日期分数时,才能对EST/EDT进行推理。否则,
DateTime
行为是不可预测的,因为它假定为“今天”。“正确的方法是使用UTC管理所有时间”-问题是关于一天中的时间,它与时区无关。这对于
DateTime
来说有点危险:它不是为时间算术设计的(因此得名为-DateTime)特别是,您可能会在夏季遇到问题。@zerkms您为这些情况推荐了哪种功能?对于这个特定任务,我会手动计算,这很简单:搜索一个合适的会花费更多的时间。@zerkms我不会说这是危险的,它是专门为解决这类问题而设计的。值得注意的是,如果你在夜间从美国东部夏令时切换到美国东部夏令时,那么间隔时间实际上应该缩短一个小时。正确的方法是以UTC管理所有时间,或者确保从第一个日期时区显式加载第二个日期时间和日期时区。@Josh Fromqaribou只有在有日期分数时,才能对EST/EDT进行推理。否则,
DateTime
行为是不可预测的,因为它假定为“今天”。“正确的方法是使用UTC管理所有时间”-问题是关于一天中的时间,它与时区无关。这对于
DateTime
来说有点危险:它不是为时间算术设计的(因此得名为-DateTime)特别是,您可能会在夏季遇到问题。@zerkms您为这些情况推荐了哪种功能?对于这个特定任务,我会手动计算,这很简单:搜索一个合适的会花费更多的时间。@zerkms我不会说这是危险的,它是专门为解决这类问题而设计的。值得注意的是,如果你在夜间从美国东部夏令时切换到美国东部夏令时,那么间隔时间实际上应该缩短一个小时。正确的方法是以UTC管理所有时间,或者确保从第一个日期时区显式加载第二个日期时间和日期时区。@Josh Fromqaribou只有在有日期分数时,才能对EST/EDT进行推理。否则,
DateTime
行为是不可预测的,因为它假定为“今天”。“正确的方法是使用UTC管理所有时间”-问题是关于一天中的时间,它与时区无关。这对于
DateTime
来说有点危险:它不是为时间算术设计的(因此得名为-DateTime)特别是,您可能会在夏季遇到问题。@zerkms您为这些情况推荐了哪种功能?对于这个特定任务,我会手动计算,这很简单:搜索一个合适的会花费更多的时间。@zerkms我不会说这是危险的,它是专门为解决这类问题而设计的。值得注意的是,如果你在夜间从美国东部夏令时切换到美国东部夏令时,那么间隔时间实际上应该缩短一个小时。正确的方法是以UTC管理所有时间,或者确保从第一个日期时区显式加载第二个日期时间和日期时区。@Josh Fromqaribou只有在有日期分数时,才能对EST/EDT进行推理。否则,
DateTime
行为是不可预测的,因为它假定为“今天”。“正确的方法是要么用UTC管理所有时间”——问题是关于一天中的时间,这与时区无关。