将`NSDate`转换为`NSString`,例如@“11:22 am”?

时间:2011-11-08 20:29:19

标签: ios localization nsstring nsdate nsdateformatter

如何将NSDate的时间转换为NSString,例如@"11:22am"?我如何支持所有语言环境?

2 个答案:

答案 0 :(得分:4)

您需要使用NSDateFormatter,最好使用其中一个NSDateFormatterStyle常量,根据用户的区域设置,其值将有所不同(例如,USA / UK / Australia都有不同的短日期格式)。 / p>

NSDateFormatter *timeFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];

NSString *timeString = [timeFormatter stringFromDate:date];

答案 1 :(得分:2)

用于此NSDateFormatter

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];//HH:mm

NSString *strDate = [formatter stringFromDate:myDate];