【发布时间】:2012-09-05 10:39:55
【问题描述】:
我有一个字符串值 20.30(hours) 我需要它来转换 08:30:00 。 有没有人知道的请帮帮我。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
dateFormat.dateFormat = @"hh:mm:ss";
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
double time = 20.30;
double timeInSeconds = time*24*60*60; // 0.27392 * 24 = 6.57408 hours *60 for minutes * 60 for seconds
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:timeInSeconds]; //Creates a date: 1 January 2001 6:34:27 AM, GMT
NSLog(@"Time: %@", [dateFormat stringFromDate:date]);
[dateFormat release];
上面的代码对我不起作用。
【问题讨论】:
-
我认为您需要做的是创建一个格式为 @"hh.mm" 的日期格式化程序以匹配您的字符串。然后使用这个格式化程序从字符串创建一个 NSDate 对象。然后,您需要另一个输出格式为 @"hh:mm:ss" 的格式化程序,然后使用它来将您的 NSDate 转换为字符串!希望这会有所帮助,
-
也只是一个注释,不太确定你想用 timeInSeconds 实现什么?因为 20:30 不是从现在开始的 20.30*24*3600 秒,除非您在拨打电话时非常幸运。
-
同意@GeorgeGreen 的第一条评论.. 看看我的回答
-
在没有提供正当理由的情况下投反对票是不好的......
-
@Melbourne 我没有投反对票。我说在没有提供适当理由的情况下投反对票不好...
标签: iphone objective-c ipad ios5