在 phone 中调试时 NSDate 返回 NULL

NSDate returning NULL when debugging in phone

当我从 xcode 在模拟器中调试时,这个 NSDate 能够得到显示。但是当我在 iphone6 中调试时它显示 NULL。

NSString *dateWithTime = [NSString stringWithFormat:@"2019/03/18 09:30 AM"];

    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
    fmt.dateFormat = @"yyyy-MM-dd hh:mm a";
    [fmt setAMSymbol:@"am"];
    [fmt setPMSymbol:@"pm"];

    fmt.timeZone = [NSTimeZone systemTimeZone];
    NSDate *localDate = [fmt dateFromString:dateWithTime];
    NSLog(@"DATE -- %@ ", [fmt stringFromDate:localDate]);

不知道是因为 phone 时区没有使用 am/pm 还是其他原因。

麻烦大家帮我解答一下

尝试为日期格式化程序设置语言环境

fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

更新

对于 en_US_POSIX 语言环境,您可以使用:

 fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];