iOS 8 - 时间格式为小数

时间:2015-03-11 18:49:49

标签: ios time ios8 xcode6 decimal

对于我正在进行的关于iOS编程的项目,我需要将当前的24小时时间转换为小数,然后将字符串存储在标签中。以下是我需要输出时间的一些示例:

  • 下午3:24应该是15.4(因为24是60%的40%)
  • 11:02 AM应该是11.03
  • 晚上7:56应该是19.93

谢谢

1 个答案:

答案 0 :(得分:2)

这是为了在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);

我希望这会有所帮助:)