如何将数字正常转换为时间格式?

时间:2017-05-05 09:32:21

标签: ios time time-format

我有一个号码,例如:

301

我想转换为时间格式:00:05:01

我的想法是让301/3600得到小时,(301%3600)/60得到分钟,301%60得到第二个,我可以得到格式字符串,但是如果有的话简单的方法来获得它?因为我认为这可能不正常。

3 个答案:

答案 0 :(得分:0)

我觉得你的方法合适而且正常。没有必要像这样添加API,因为它简单明了,苹果不能为我们做任何事情,当然,你可以自己打包。

答案 1 :(得分:0)

使用NSDateFormatter

尝试此操作
NSDate *lastUpdate = [[NSDate alloc] initWithTimeIntervalSince1970:301];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
dateFormatter.dateFormat = @"HH:mm:ss";
NSLog(@"date time: %@", [dateFormatter stringFromDate:lastUpdate]);

答案 2 :(得分:0)

如果您可以使用mask^(1<<middle)(几个小时没有前导零),请使用0:05:01

<强>夫特:

(NS)DateComponentsFormatter

<强> ObjC:

let number = 301
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute, .second]
formatter.zeroFormattingBehavior = .pad
let result = formatter.string(from: TimeInterval(number))
print(result)