【发布时间】:2015-01-01 14:01:22
【问题描述】:
首先:我想向所有阅读本文的人说新年快乐! 2015 年 5 月对我们所有人来说都是美好的一年:-)。
我正忙于制作一个计算两个日期之间时间差的函数。更准确地说:给定时间和日期与当前时间和日期之间的时间。 因此,用户选择过去的日期,然后程序在计时器中显示给定日期和今天日期之间的时间差,如下所示:“hh:mm:ss”
它可以正常运行并每秒更新我选择今天的时间(01-01-2015 10:00:00),但在过去的日期和时间时(31-12-2014 17:00 :00) 并将其与时间早于昨天 (01-01-2015 14:01:01) 的今天日期进行比较,它给了我一个负时间,就像倒数计时器一样:-2:-59:-59 .
但我希望它显示它的反面:21:01:01,如果可能的话,如果它超过 24:00:00,请指望。例如 25:12:39。
这是计算差值的代码:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd-MM-YYYY HH:mm:ss"];
NSDate *date1 = [df dateFromString:[NSString stringWithFormat:@"30-12-2014 %@", startedTime]];
NSDate *date2 = [df dateFromString:[NSString stringWithFormat:@"31-12-2014 %@", [self getCurrentTime]]];
NSTimeInterval interval = [date2 timeIntervalSinceDate:date1];
int hours = (int)interval / 3600; // integer division to get the hours part
int minutes = (interval - (hours*3600)) / 60; // interval minus hours part (in seconds) divided by 60 yields minutes
int seconds = (interval - (hours*3600) - (minutes*60)); // interval minus hours part (in seconds) divided by 60 yields minutes
NSString *timeDiff = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
_workingTime.text = [NSString stringWithFormat:@"%@",timeDiff];
有人可以帮忙吗?
【问题讨论】:
标签: xcode date time timer difference