1. NSDateFormatter
1.1 系统适配
iOS15以下
dateFormat = @"HH:mm" 显示24小时制
dateFormat = @"hh:mm" 显示12小时制
iOS15开始
dateFormat = @"HH:mm" 显示12小时制 + AM/PM
dateFormat = @"hh:mm" 显示12小时制
产生差异的原因:
locale, 时间格式(12/24小时制)等都会影响dateFormat
解决方案:
可以把formatter的locale设置成
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
en_US_POSIX会不管用户和系统的偏好设置,按照我们设置的格式去生成字符串
官方参考文档:
https://developer.apple.com/library/archive/qa/qa1480/_index.html












网友评论