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

Iphone 如何使用Cocoa Touch在时间前面加零?,iphone,ios,cocoa-touch,cocoa,Iphone,Ios,Cocoa Touch,Cocoa,您好,我从NSDate获得的时间如下: NSDateComponents *hoursAndMinutes = [[NSCalendar currentCalendar] components:NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:feedItem.date]; return [NSString stringWithFormat:@"%d:%d", hoursAndMinutes.hour,hoursAndMinute

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

谢谢。

将满足您的需求

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

return formattedDate;
我会做你想做的事

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

return formattedDate;
只需使用格式:

[NSString stringWithFormat:@"%02d:%02d", hoursAndMinutes.hour,hoursAndMinutes.minute];
只需使用格式:

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

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

参考:

--编辑--


Wow 3在20秒内回答,我认为@BJH有更简洁的解决方案。

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

参考:

--编辑--


Wow 3在20秒内回答,我认为@BJH有更简洁的解决方案。

%02d
将是适用的标准printf格式。iOS中可能有一些更为突出的内容。
%02d
将是适用的标准printf格式。在iOS中可能有一些更刺耳的东西。@DevFly查看并跟踪链接。“HH:mm”显示24小时。。也可能是本地电话设置?用于AM使用[dateFormat setDateFormat:@“hh:mm:ss a”]@DevFly查看并跟踪链接。“HH:mm”显示24小时。。也可能是本地电话设置?用于AM使用[dateFormat setDateFormat:@“hh:mm:ss a”];