objective-c dateFromString returns 特定日期为零

objective-c dateFromString returns nil on specific date

日期始终为零,但如果我将 dateString 更改为任何其他日期,如 03/01/1975,它会正常工作。有什么想法吗?

NSString *dateString = @"05/01/1975";    
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *gbLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"us"];
[dateFormatter setLocale:gbLocale];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
NSDate *date = [dateFormatter dateFromString:dateString];

试试这个代码

- (NSDate *)getPickerDateForString:(NSString *)dateString
{
    NSDate * dt;
    if (!dateFormatter)
    {
        dateFormatter = [[NSDateFormatter alloc] init];
    }
    [dateFormatter setDateFormat:@"dd/MM/yyyy"];
    dt = [dateFormatter dateFromString:dateString];
    return dt;
}

试试这个

NSString *dateString = @"05/01/1975";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
 [formatter setDateFormat:@"MM.dd.yyyy"];
NSDate *anotherDate = [formatter dateFromString:dateString];
NSLog(@"%@",anotherDate);

它会给出这样的输出

1975-05-01 00:00:00 +0000