【问题标题】:How to calculate the hour,min between two date time? [duplicate]如何计算两个日期时间之间的小时,分​​钟? [复制]
【发布时间】:2014-03-08 17:04:14
【问题描述】:

我有两个约会

$date1 = "2014-02-11 04:04:26 AM"
$date2 = "2014-02-11 05:36:56 AM"

我要计算差值并显示如下

1 hour 32 minutes

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    利用DateTime类的DateTime::diff

    <?php
    $datetime1 = new DateTime('2014-02-11 04:04:26 AM');
    $datetime2 = new DateTime('2014-02-11 05:36:56 AM');
    $interval = $datetime1->diff($datetime2);
    echo $interval->format('%h')." Hours ".$interval->format('%i')." Minutes";
    

    OUTPUT :

    1 Hours 32 Minutes
    

    【讨论】:

    • 一个简单的问题,我怎样才能将 1 小时 32 分钟转换为小时。我的意思是我想要以小时为单位的结果。有什么想法吗?
    • 我不明白你的问题。您想要什么作为预期输出?
    • 您的意思是 1 小时 30 分钟 -> 1.5 小时?只需将分钟除以 60。
    • 我认为如果 $datetime2 = new DateTime('2014-03-11 05:36:56 AM');答案是一样的……
    • 如果日期相差超过 24 小时,则结果错误。这个答案只会给出 0 到 23 之间的小时数。
    【解决方案2】:

    如果不想以复杂的方式进行,只需将两个日期都转换为时间戳... 像这样的

    $dateDiff = intval((strtotime($date1)-strtotime($date2))/60);
    
    $hours = intval($dateDiff/60);
    $minutes = $dateDiff%60;
    

    你去...

    谢谢...

    【讨论】:

    • 你的答案是正确的,但你必须从 date1 中减去 date1。
    • 如何找到 $seconds 呢?
    • 要获得天数,您必须这样做 '$days = intval($duree/(60*24)); $hours = intval($duree/60)%24; $分钟 = $duree%60; return "$days J $hours H $minutes m";'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    相关资源
    最近更新 更多