问题
最近发现通过[NSDate date]返回的时间,通过格式化后,展示的年份异常,为0005
![](https://img.haomeiwen.com/i1381777/504216bb1805cadd.png)
解决方案
原因是客户选取了其他日历作为展示日历,系统读取日历导致异常
![](https://img.haomeiwen.com/i1381777/6d3f85c8cfa4d4c5.png)
![](https://img.haomeiwen.com/i1381777/2c54e307b18670c1.png)
通过在格式化的时候固定选择公历修复该情况:
//当前时间
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]];
网友评论