我想在我的iPad应用程序中仅显示当前月份和年份,“2012年11月”,我目前正在将月份格式化为“MMMM”,将年份格式化为“yyyy”并将其连接起来。这适用于大多数语言环境,但不适用于“中国”地区。
我目前的代码显示“中国”地区的月份和年份,
然而,这是不对的。因为它应该像它在iOS日历应用程序中显示,
关于如何实现这一目标的任何想法?
编辑1:
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat=@"MMMM";
NSString * monthString = [[dateFormatter stringFromDate:date] capitalizedString];
dateFormatter.dateFormat=@"yyyy";
NSString * yearString = [[dateFormatter stringFromDate:date] capitalizedString];
lblMonthAndYear.text = [NSString stringWithFormat:@"%@ %@",monthString,yearString];
答案 0 :(得分:4)
我认为你的日期格式化程序根本不使用语言环境,这里的关键是使用当前语言环境创建模板,而不仅仅是格式字符串,例如:
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"MMMM d"
options:0
locale:[NSLocale currentLocale]];
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = dateFormat;