我需要将日期作为字符串而不是时间,并且必须进行本地化。
所以例如美国应该 2009年9月25日但是对于新西兰来说,它将是 2009年9月25日。 我可以通过指定格式“MMM dd YYYY”将日期转换为字符串,但它没有本地化。
有什么想法吗?
答案 0 :(得分:7)
[NSDateFormatter localizedStringFromDate:[NSDate date]
dateStyle:NSDateFormatterMediumStyle
timeStyle:0]
答案 1 :(得分:3)
关键是将setTimeStyle:kCFDateFormatterNoStyle发送到dateFormatter。这将设置dateFormatter,以便它只格式化日期而不输出时间:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale: [NSLocale currentLocale]];
[dateFormatter setDateStyle:kCFDateFormatterShortStyle]; // or whichever style...
[dateFormatter setTimeStyle:kCFDateFormatterNoStyle];
NSString* dateString = [dateFormatter stringFromDate: [NSDate date]];
这给了我以下输出:
12/18/09