(Objective C) NSDate is nil 转换字符串中的日期
(Objective C) NSDate is nil to convert a date in String
我有这个字符串日期:
Wed, 14 Oct 2015 9:58 am CDT
然后我尝试使用此代码将此字符串转换为 NSData
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLL YYYY HH:mm a Z"];
NSDate *date = [dateFormat dateFromString:@"Wed, 14 Oct 2015 9:58 am CDT"];
但是作为 NSDate
变量的日期始终是 nil
。我试图用不同的语法更改我的 DateFormat
但我得到了相同的结果。
问题是您使用 capital Z
instead of lowercase z
作为时区缩写。我还建议将 EEE
减少到一个 E
,将 LLL
更改为 MMM
,使用 yyyy
作为年份,并使用 h
而不是 HH
一小时。
"E, d MMM yyyy h:mm a z"
作为日期格式问题的快速提示,请尝试先将日期转换为字符串并比较输出。
我有这个字符串日期:
Wed, 14 Oct 2015 9:58 am CDT
然后我尝试使用此代码将此字符串转换为 NSData
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLL YYYY HH:mm a Z"];
NSDate *date = [dateFormat dateFromString:@"Wed, 14 Oct 2015 9:58 am CDT"];
但是作为 NSDate
变量的日期始终是 nil
。我试图用不同的语法更改我的 DateFormat
但我得到了相同的结果。
问题是您使用 capital Z
instead of lowercase z
作为时区缩写。我还建议将 EEE
减少到一个 E
,将 LLL
更改为 MMM
,使用 yyyy
作为年份,并使用 h
而不是 HH
一小时。
"E, d MMM yyyy h:mm a z"
作为日期格式问题的快速提示,请尝试先将日期转换为字符串并比较输出。