如何将秒转换为分钟和秒?
我知道可以将秒数转换为分钟,但是我不知道如何获取剩余的秒数...
int minutes = seconds / 60;
如何将秒转换为分钟和秒?
我知道可以将秒数转换为分钟,但是我不知道如何获取剩余的秒数...
int minutes = seconds / 60;
您将获得以下分钟:
int minutes = totalSeconds / 60;
并使用以下代码返回剩余秒数:
int seconds = totalSeconds % 60;.
这里是来自将整数秒数转换为HH:MM,iPhone的更好的答案。
- (NSString *)timeFormatted:(int)totalSeconds{
int seconds = totalSeconds % 60;
int minutes = (totalSeconds / 60) % 60;
int hours = totalSeconds / 3600;
return [NSString stringWithFormat:@"%02d:%02d:%02d",hours, minutes, seconds];
}
Swift版本:
private func getFormattedVideoTime(totalVideoDuration: Int) -> (hour: Int, minute: Int, seconds: Int){
let seconds = totalVideoDuration % 60
let minutes = (totalVideoDuration / 60) % 60
let hours = totalVideoDuration / 3600
return (hours,minutes,seconds)
}
迅捷
/** Returns the seconds as in clock format 02:24 */
class func formatMinuteSeconds(_ totalSeconds: Int) -> String {
let minutes = Double(totalSeconds) / 60;
let seconds = totalSeconds % 60;
return String(format:"%02d:%02d", minutes, seconds);
}
你可以使用NSMeasurement
和NSUnitDuration
解决这个问题。这些类需要iOS 10.0+、tvOS 10.0+、macOS 10.12+或watchOS 3.0+支持。下面的代码将秒转换为分钟和秒。
int seconds = 230;
NSMeasurement* measurement = [[NSMeasurement alloc] initWithDoubleValue:seconds unit:NSUnitDuration.seconds];
NSMeasurement* measurementMinutes = [measurement measurementByConvertingToUnit:NSUnitDuration.minutes];
int minutes = floor(measurementMinutes.doubleValue);
NSMeasurement* measurementMinutesWithoutSeconds = [measurement measurementBySubtractingMeasurement:[[NSMeasurement alloc] initWithDoubleValue:minutes unit:NSUnitDuration.minutes]];
int secondsRemainder = floor([measurementMinutesWithoutSeconds measurementByConvertingToUnit:NSUnitDuration.seconds].doubleValue);
NSLog(@"%d %d", minutes, secondsRemainder); // 3 50
full = "2小时46分钟49秒"
positional = "2:46:40"
abbreviated = "2小时46分钟40秒"
spellOut = "两小时四十六分钟四十秒”
short = "2小时46分钟40秒"
brief = "2小时46分钟40秒"
易于使用:
let time = convertSecondsToHrMinuteSec(seconds: 10000)
func convertSecondsToHrMinuteSec(seconds:Double) -> String{
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute, .second]
formatter.unitsStyle = .full
let formattedString = formatter.string(from: TimeInterval(seconds))!
print(formattedString)
return formattedString
}
Swift 5:
格式为hh:mm:ss的字符串
extension Float {
var hoursMinutesSecondsFormat : String {
let seconds = self.truncatingRemainder(dividingBy: 60).rounded(.toNearestOrAwayFromZero)
let minutes = (self / 60).truncatingRemainder(dividingBy: 60).rounded(.toNearestOrAwayFromZero)
let hours = (self / 3600).rounded(.toNearestOrAwayFromZero)
return String(format:"%02.f:%02.f:%02.f", hours,minutes, seconds);
}
}