我在iOS 11.4上从字符串转换Date时遇到麻烦。 iOS 11.4上的同一个func返回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];
}

10-07 19:51