iOS 8 - 时间格式为十进制
iOS 8 - Time Format As A Decimal
对于我正在做的关于iOS编程的项目,我需要将当前的 24 小时制时间转换为小数,然后将字符串存储在标签中。下面是一些我需要时间输出的例子:
- 3:24 PM 应该是 15.4(因为 24 是 60 的 40%)
- 11:02 AM 应该是 11.03
- 下午 7:56 应该是 19.93
谢谢
这是获取24小时制的时间。所以这涵盖了你的最后两点。
NSDate *currentTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm"];
NSString *resultString = [dateFormatter stringFromDate:currentTime];
NSLog(@"%@", resultString);
现在关于第一个问题,你需要做的是将分钟存储在一个单独的变量中,然后做一个简单的百分比来找出小数,然后创建一个新的时间字符串,就像这样:
NSArray *dateArray = [resultString componentsSeparatedByString:@":"];
NSString *hour = [dateArray objectAtIndex:0];
NSString *minute = [dateArray objectAtIndex:1];
int percentage = [minute intValue];
percentage = ((percentage / 60) * 100);
NSString *newTime = [NSString stringWithFormat:@"%@.%d", hour, percentage];
NSLog(@"New time is: %@", newTime);
希望对您有所帮助:)
对于我正在做的关于iOS编程的项目,我需要将当前的 24 小时制时间转换为小数,然后将字符串存储在标签中。下面是一些我需要时间输出的例子:
- 3:24 PM 应该是 15.4(因为 24 是 60 的 40%)
- 11:02 AM 应该是 11.03
- 下午 7:56 应该是 19.93
谢谢
这是获取24小时制的时间。所以这涵盖了你的最后两点。
NSDate *currentTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm"];
NSString *resultString = [dateFormatter stringFromDate:currentTime];
NSLog(@"%@", resultString);
现在关于第一个问题,你需要做的是将分钟存储在一个单独的变量中,然后做一个简单的百分比来找出小数,然后创建一个新的时间字符串,就像这样:
NSArray *dateArray = [resultString componentsSeparatedByString:@":"];
NSString *hour = [dateArray objectAtIndex:0];
NSString *minute = [dateArray objectAtIndex:1];
int percentage = [minute intValue];
percentage = ((percentage / 60) * 100);
NSString *newTime = [NSString stringWithFormat:@"%@.%d", hour, percentage];
NSLog(@"New time is: %@", newTime);
希望对您有所帮助:)