【问题标题】:How to get the total hr from start time to end time using 12 Hour Format in php如何使用php中的12小时格式获取从开始时间到结束时间的总小时数
【发布时间】:2013-08-07 13:40:55
【问题描述】:

如何使用“HH:mm:ss”格式获取两个给定时间的总小时数?

这是我的代码:

   $start = 01:00:00 PM;
   $end = 02:00:00 PM;

预期输出:

   $total = 1;

【问题讨论】:

  • 在继续之前,我会修复变量中的错误
  • 如果你想要准确,你需要包含一个日期。

标签: php datetime time


【解决方案1】:

你可以这样试试:

$start = new DateTime('01:00:00 PM');
$end = new DateTime('02:00:00 PM');
$diff = $start->diff($end);
echo $diff->format('%H'); 

您可以获取更多信息:http://in1.php.net/manual/en/datetime.diff.php

【讨论】:

  • 如果我希望输出在 12hourformat "HH:mm:ss" 中采用相同的格式
  • 这将失败,例如,$start 是晚上 11 点,$today 是凌晨 1 点。在 DST 的开始和结束等情况下也是如此。您需要日期才能使其准确。
  • DateTime::diff 是否准确?我尝试“09:00:00 PM”作为开始,“02:00:00 PM”作为我的结束时间,它给了我 07:00:00 而不是 17:00:00
  • @ironcito 怎么可能?我不知道让它准确
  • 7 和 17 都可能为真,具体取决于日期。 PHP 不知道是今天晚上 9 点,明天,昨天...
猜你喜欢
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-05
  • 2022-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多