计算两个时间之间的差值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个时间之间的差值相关的知识,希望对你有一定的参考价值。
参考技术A 最近有一个功能,需要计算同一天内两个时间之间的差值,开始打算将 NSDate 先转换成 NSString ,然后转后成 int 类型数据进行换算对比。但是这种方法太过繁琐,时间之间的对比要逐一对比小时分钟,然后还要将结果进行转换,实在是麻烦。这里我使用了 NSCalendar 类。
下面来看一下具体的实现:
首先先拿到当前时间,并转换成字符串:
同样也将要比较的时间(我们这里将其称为开始时间)转换成相同格式的字符串:
下面进入正题,比较两个时间字符串:
这样我们就分别得到了年、月、日、时、分、秒的差额,如果你想要得到一个时间相差总额,比如说一天内两个时间点之间的总差额,你只需要进行简单的计算: component.hour *60 + component.minute 即可得到两个时间总共相差的分钟数。
如何计算两个日期时间之间的小时,分钟? [复制]
【中文标题】如何计算两个日期时间之间的小时,分钟? [复制]【英文标题】: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
【问题讨论】:
【参考方案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";'以上是关于计算两个时间之间的差值的主要内容,如果未能解决你的问题,请参考以下文章