iOS 15.4 獲取本地當前時間12小時制的Bug

公司客戶端App就在今天上午上線了,晚上的時候線上就發(fā)現(xiàn)問題了,問題出現(xiàn)的是系統(tǒng)是15.4,這個系統(tǒng)是在今年的3月16號更新的,然后本地時間格式是12小時制,代碼獲取的本地時間,就會有Bug:

NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSString *dateStr = [dateFormatter stringFromDate:date];
NSLog(@"%@",dateStr);
我們設(shè)置了@"yyyy-MM-dd HH:mm:ss",但是解析12制就會失敗.
本質(zhì)就是NSDateFormatter使用方法不遵守蘋果開發(fā)規(guī)范導(dǎo)致的問題,大家可以看這個文檔.
不知道會有多少個像我一樣的自己挖的坑跳進去的.尷尬了...
從上面的那個文檔可以看出,在處理時間使用NSDateFormatter需要設(shè)置:
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
dateFormatter.locale = [NSLocale systemLocale];

同時還需設(shè)置dateFormatter的日歷格式:

dateFormatter.calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierISO8601];

代碼規(guī)范很重要呀! 哎呀呀............

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容