如何使用Cocoa-Touch在时间前加零?

时间:2012-08-08 16:05:48

标签: iphone ios cocoa-touch cocoa

您好我从NSDate那里得到时间:

 NSDateComponents *hoursAndMinutes = [[NSCalendar currentCalendar] components:NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:feedItem.date];
        return [NSString stringWithFormat:@"%d:%d", hoursAndMinutes.hour,hoursAndMinutes.minute];

但如果从约会的时间是13:05,它会像13:5那样显示,而09:17则显示为9:17。

感谢。

3 个答案:

答案 0 :(得分:4)

NSDateFormatter会做你想要的。

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"hh:mm"];
NSString *formattedDate = [dateFormat stringFromDate:feedItem.date];

return formattedDate;

答案 1 :(得分:1)

只需使用格式:

[NSString stringWithFormat:@"%02d:%02d", hoursAndMinutes.hour,hoursAndMinutes.minute];

答案 2 :(得分:0)

您可以尝试%02d而不是%d强制它始终显示两个数字。可能有更简洁的方法,但这似乎有效。

参考:http://www.ios-developer.net/iphone-ipad-programmer/development/strings/displaying-values-in-strings

- 编辑 -

在20秒的时间内哇3回答,我认为@BJH有更整洁的解决方案。