NSDateFormatter“月”在3个字母,而不是全字

NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"dd-MM-YYYY HH:mm"]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; 

如果我select“MM”我得到的月份数:“09-05-2012 15:33”如果我select“MMMM”我得到的月份:“09-May-2012 15:33”

我想要的是3个字母缩写的月份。
例如:“一月”将是“一月”

在这种情况下,May是正确的,因为它只有3个字母。

你有没有尝试过: [formatter setDateFormat:@"dd-MMM-YYYY HH:mm"]; 然后[formatter stringFromDate:someNSDate];

如果你以错误的顺序得到了这两件事情,你不会得到预期的结果。

 [formatter setDateFormat:@"MMM"]; [formatter setDateStyle:NSDateFormatterMediumStyle]; 

不会给出与以下相同的结果:

 [formatter setDateStyle:NSDateFormatterMediumStyle]; [formatter setDateFormat:@"MMM"]; 

(这两个片段中的第二个现在愉快地在我的应用程序中发布Sep Sep等)

SWIFT中

 let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "dd MMM yyyy HH:mm" dateFormatter.stringFromDate(NSDate()) 

其实你可以设置你的dateStyle为中等(即“一月”,“二月”等),如下所示:

 [formatter setDateStyle:NSDateFormatterMediumStyle];