我正在尝试将表示秒的字符串转换为小时分秒格式的字符串。输入可能看起来像 305 秒,我希望它显示 5:05。我不应该能够使用 NSDateFormatter 做到这一点吗?我尝试了以下几种变体,但输出始终为空。
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"s"];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"hh:mm:ss"];
NSString *seconds = @"305";
NSDate *myDate = [inputFormatter dateFromString:seconds];
NSString *twelveHourTime = [outputFormatter stringFromDate:myDate];
NSLog(@"twelve hour time: %@", twelveHourTime);
我查看了许多其他 NSDate 帖子,其中很多问题都与格式不正确有关。我可以从 NSDate 格式指南中看出,一个小写字母 s 是几秒钟内的正确输入。也就是说,我还尝试了多个小写 s 和大写 S 的输入格式,但仍然没有得到正确的结果。
我很高兴知道我做错了什么,或者这种类型的转换不是要使用 NSDateFormatter 来完成的。谢谢。