我一直在这里使用另一个答案来做这件事。我将我的日期作为Int存储在我的数据库中,但我希望它在UI中显示为整整一个月。所以在刷新/重新加载时我试图获得Int月值 - >转换为String full month - >在textfield中显示。
我目前已经注销了月份和完整日期,但在重新加载的文本字段中显示为(null) / 05 / 1993
我做错了什么?
NSString *monthString = [self.datePickerFormat monthSymbols] [(self.birthdayMonth - 1)];
NSLog(@"%@",monthString);
NSString *dateString = [NSString stringWithFormat:@"%@ / %ld / %ld",monthString,(long)self.birthdayDay,(long)self.birthdayYear];
NSLog(@"%@",dateString);
self.birthdayField.text = [NSString stringWithFormat:@"%@",dateString];
self.birthdayMonth
是一个整数。 self.datePickerFormat
是我已声明为属性的NSDateFormatter。编辑:好吧,日志不会以正确的月份回来,所以我不知道发生了什么......
还有另一种更好的方法吗?谢谢你的帮助!
答案 0 :(得分:2)
要从月份编号获取月份名称,请以这种方式使用日期格式化程序:
NSInteger month = 7;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *monthString = dateFormatter.monthSymbols[(month-1)];
月份名称将采用您的手机语言环境语言。虽然不推荐,但您可以覆盖区域设置:
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];