gpt4 book ai didi

ios - 如何使用 objective-c 格式化从 youtube api v3 reuqest 返回的持续时间?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:25 25 4
gpt4 key购买 nike

如何使用 objective-c 将这个时间段“PT1H20M10S”格式化为“1:20:10”?这是从对 youtube 的请求返回的。它给了我一个时间段。如何将“PT1H20M10S”设置为像“1:20:10”这样的样式,以便在我的应用程序中易于阅读?

最佳答案

您可以使用以下代码:

- (NSString *)parseDuration:(NSString *)duration {
NSInteger hours = 0;
NSInteger minutes = 0;
NSInteger seconds = 0;

NSRange timeRange = [duration rangeOfString:@"T"];
duration = [duration substringFromIndex:timeRange.location];

while (duration.length > 1) {
duration = [duration substringFromIndex:1];

NSScanner *scanner = [NSScanner.alloc initWithString:duration];
NSString *part = [NSString.alloc init];
[scanner scanCharactersFromSet:[NSCharacterSet decimalDigitCharacterSet] intoString:&part];

NSRange partRange = [duration rangeOfString:part];

duration = [duration substringFromIndex:partRange.location + partRange.length];

NSString *timeUnit = [duration substringToIndex:1];
if ([timeUnit isEqualToString:@"H"])
hours = [part integerValue];
else if ([timeUnit isEqualToString:@"M"])
minutes = [part integerValue];
else if ([timeUnit isEqualToString:@"S"])
seconds = [part integerValue];
}

return [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
}

您还可以阅读 ISO_8601 持续时间 here .

关于ios - 如何使用 objective-c 格式化从 youtube api v3 reuqest 返回的持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com