0

你好,我从 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。

谢谢。

4

3 回答 3

4

NSDateFormatter会做你正在寻找的东西。

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

return formattedDate;
于 2012-08-08T16:13:06.160 回答
1

只需使用格式:

[NSString stringWithFormat:@"%02d:%02d", hoursAndMinutes.hour,hoursAndMinutes.minute];
于 2012-08-08T16:13:07.883 回答
0

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

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

- 编辑 -

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

于 2012-08-08T16:13:22.023 回答