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];