ios - 在 iOS 13 和 iOS 11.4 中从字符串转换日期的不同结果
问题描述
我在 iOS 11.4 上从字符串转换日期时遇到问题。iOS 11.4 上的相同函数返回 nil,但在 iOS 13 中返回正确值。我正在使用 Xcode 11.0,这个转换函数:
+ (NSDate *)getDateFromStringDate:(NSString *)stringDate {
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZ"];
return [dateFormat dateFromString:stringDate];
}
解决方案
NSISO8601DateFormatter 比您可以编写的任何格式字符串都了解更多并且更灵活。将您的代码重写为
+ (NSDate *)getDateFromStringDate:(NSString *)stringDate {
NSISO8601DateFormatter * df = [NSISO8601DateFormatter new];
return [df dateFromString:stringDate];
}
推荐阅读
- sql-server - SQL中基于查询结果的匹配模式
- node.js - Sails JS actions2 req, res undefined
- c# - reader.HasRows 每次都返回 FALSE
- javascript - Three.js 项目,在自上而下的视图中保持相机以对象为中心
- javascript - $(document).on(..) 事件有效,但 $("body").on(..) 对于动态生成的元素无效
- sql-server - SQL Server Migration Assistant for Access 如何确定聚集索引和非聚集索引?
- android - ViewPager 没有响应在 Fragment 中动态创建的布局区域中的触摸
- haproxy - Haporxy:如果服务器 1 关闭,则将连接重定向到第二台服务器;当服务器 2 宕机时到第 3 台服务器;
- php - 在葡萄牙语中将日期从长格式格式化为短格式
- bloom-filter - 只有一个输入哈希的布隆过滤器仍然是布隆过滤器吗?