IOS时间为int分钟
问题描述:
我与价值@"1:10:39"
IOS时间为int分钟
什么是这个时候分钟转换最快/最便捷的方式的NSString
?例如。 70.65
我并不是要求在这里发表意见,只有在您感觉舒适时才显示代码。我主要在寻找一个建议。 谢谢。
答
这是一种方法。
NSString *zeroString = @"00:00:00";
NSString *timeString = @"1:10:39";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSDate *zeroDate = [dateFormatter dateFromString:zeroString];
NSDate *offsetDate = [dateFormatter dateFromString:timeString];
NSTimeInterval timeDifference = [offsetDate timeIntervalSinceDate:zeroDate];
CGFloat minutes = (timeDifference/60);
NSLog(@"%0.2fmins",minutes);
答
我会使用NSString
的componentsSeparatedByString
使包含字符串的数组‘1’,‘10’和‘39’的顺序,然后从该阵列拉的值并对其执行integerValue
转换为数字,并对这些进行必要的算术运算,确保检查数组中正好有三件事作为验证步骤并避免异常。
答
NSString *timeString = @"1:10:39";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"hh:mm:ss";
NSDate *timeDate = [formatter dateFromString:timeString];
formatter.dateFormat = @"hh";
int hours = [[formatter stringFromDate:timeDate] intValue];
formatter.dateFormat = @"mm";
int minutes = [[formatter stringFromDate:timeDate] intValue];
formatter.dateFormat = @"ss";
int seconds = [[formatter stringFromDate:timeDate] intValue];
float timeInMinutes = hours * 60 + minutes + seconds/60.0;
+1对所有人都是好的和可用的。不过,我从来没有这样计算时间,所以得到了奖品。谢谢! – Jacksonkr 2012-02-16 00:38:50
不客气。干杯! – JacobFennell 2012-02-16 00:43:44