解决NSDate获取年份错乱问题

问题

最近发现通过[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]];
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容