我有很多,如:如何將數字轉換爲時間格式?
301
我想轉換爲時間格式:00:05:01
我的想法是讓301/3600
拿到小時,(301%3600)/60
拿到分鐘,301%60
GET第二,我可以得到格式字符串,但如果有一個簡單的方法來獲取?因爲我認爲這可能不正常。
我有很多,如:如何將數字轉換爲時間格式?
301
我想轉換爲時間格式:00:05:01
我的想法是讓301/3600
拿到小時,(301%3600)/60
拿到分鐘,301%60
GET第二,我可以得到格式字符串,但如果有一個簡單的方法來獲取?因爲我認爲這可能不正常。
如果你能0:05:01
(數小時沒有前導零)住用(NS)DateComponentsFormatter
:
斯威夫特:
let number = 301
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute, .second]
formatter.zeroFormattingBehavior = .pad
let result = formatter.string(from: TimeInterval(number))
print(result)
ObjC:
NSInteger number = 301;
NSDateComponentsFormatter *formatter = [[NSDateComponentsFormatter alloc] init];
formatter.allowedUnits = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
formatter.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorPad;
NSString *result = [formatter stringFromTimeInterval:(NSTimeInterval)number];
NSLog(@"%@", result);
我認爲你的方法是合適的,正常的。沒有必要像這樣添加API,因爲它足夠簡單明瞭,蘋果公司無法爲我們做任何事情,當然,你可以自己打包。
試試這個使用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]);
@ Lenny32如何使用TimeSpan?我的朋友。 –
[Convert Seconds Integer To HH:MM,iPhone]可能重複(http://stackoverflow.com/questions/1739383/convert-seconds-integer-to-hhmm-iphone) – Rivendell
@MahipalSingh我只是尋找更好的方法。 –