iOS格式字符串分为秒和秒

Squ*_*ire 13 youtube time ios json-c

我收到了来自YouTube JSONC api的字符串,但持续时间是一个完整的数字,即2321而不是23:21或2而不是0:02.我该如何解决这个问题?

JSON C.

编辑:

int duration = [videos valueForKey:@"duration"];
int minutes = duration / 60;
int seconds = duration % 60;

NSString *time = [NSString stringWithFormat:@"%d:%02d", minutes, seconds];
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 23

假设持续时间值实际上是以秒为单位的持续时间,那么您可以计算分钟数和秒数,然后将其格式化为字符串.

int duration = ... // some duration from the JSON
int minutes = duration / 60;
int seconds = duration % 60;

NSString *time = [NSString stringWithFormat:@"%d:%02d", minutes, seconds];
Run Code Online (Sandbox Code Playgroud)


小智 13

如果持续时间旨在面向用户,则应使用DateComponentsFormatter:

let formatter = DateComponentsFormatter()
formatter.allowedUnits = [ .minute, .second ]
formatter.zeroFormattingBehavior = [ .pad ]
let formattedDuration = formatter.string(from: duration)!
Run Code Online (Sandbox Code Playgroud)


cod*_*cat 7

试试这个非常优化

+ (NSString *)timeFormatConvertToSeconds:(NSString *)timeSecs
{
    int totalSeconds=[timeSecs intValue];

    int seconds = totalSeconds % 60;
    int minutes = (totalSeconds / 60) % 60;
    int hours = totalSeconds / 3600;

    return [NSString stringWithFormat:@"%02d:%02d:%02d",hours, minutes, seconds];
}
Run Code Online (Sandbox Code Playgroud)