问题
最近发现通过[NSDate date]返回的时间,通过格式化后,展示的年份异常,为0005
解决方案
原因是客户选取了其他日历作为展示日历,系统读取日历导致异常
通过在格式化的时候固定选择公历修复该情况:
//当前时间
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"yyyyMMdd"];
// dateFormater.locale = [[NSLocale alloc] initWithLocaleIdentifier:[[NSLocale preferredLanguages] objectAtIndex:0]]; // 获取首选语言地区标识符
dateFormater.calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];// 选择公历,避免日本日历、佛教日历取date异常
NSString *dateTime = [dateFormater stringFromDate:[NSDate date]];