在 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"];
当我从 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"];