寻找时差的问题

时间:2016-09-07 11:22:04

标签: ios nsdate nsdateformatter

在我的应用中,我想知道它们之间的区别:

  

本周工作小时数(54.30小时)

  

特定日期(10.45小时)的总工作小时数

例如,我想知道(54.30小时--10.45小时)的价值 小时。由于一周的总小时数大于24小时,我 无法将其转换为NSDate。

1 个答案:

答案 0 :(得分:1)

使用这2个功能,这将有助于你

以下函数将返回小时字符串

的总秒数
- (NSNumber *)secondsForTimeString:(NSString *)string {
    NSArray *components = [string componentsSeparatedByString:@"."];
    NSInteger hours   = [[components objectAtIndex:0] integerValue];
    NSInteger minutes = [[components objectAtIndex:1] integerValue];
    //NSInteger seconds = [[components objectAtIndex:2] integerValue];
   return [NSNumber numberWithInteger:(hours * 60 * 60) + (minutes * 60)];

}

以下功能将从秒开始返回格式化时间

- (NSString *)timeFormatted:(int)totalSeconds {
    //int seconds = totalSeconds % 60;
    int minutes = (totalSeconds / 60) % 60;
    int hours = totalSeconds / 3600;
    return [NSString stringWithFormat:@"%02d.%02d",hours, minutes];
}

现在您可以像这样计算剩余时间:

int diffrence =[[self secondsForTimeString:@"54.30"] intValue] - [[self secondsForTimeString:@"10.45"] intValue];
NSLog(@"Remaining Hours - %@",[self timeFormatted:diffrence]);