2015-02-13 17:16:00 +0000 的 NSDateFormatter
NSDateFormatter for 2015-02-13 17:16:00 +0000
NSString *value = [newProperties objectForKey:key]
NSLog(@"%@",value);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss zzzz"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSDate *dateFromString = [dateFormatter dateFromString:value];
值是2015-02-13 17:16:00 +0000
但是我在最后一行崩溃了:
'-[__NSTaggedDate length]: unrecognized selector sent to instance 0xe41ba8e68d000000'
错误清楚地表明 value
已经是 NSDate
,而不是 NSString
。
你所有的代码都可以用一行来代替:
NSDate *value = [newProperties objectForKey:key];
您可以通过记录 class:
来验证 value
是一个日期
NSLog(@"value class = %@", [value class]);
作为旁注。如果您确实有所示格式的日期字符串,则您的格式说明符需要为 yyyy-MM-dd HH:mm:ss Z
.
NSString *value = [newProperties objectForKey:key]
NSLog(@"%@",value);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss zzzz"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSDate *dateFromString = [dateFormatter dateFromString:value];
值是2015-02-13 17:16:00 +0000
但是我在最后一行崩溃了:
'-[__NSTaggedDate length]: unrecognized selector sent to instance 0xe41ba8e68d000000'
错误清楚地表明 value
已经是 NSDate
,而不是 NSString
。
你所有的代码都可以用一行来代替:
NSDate *value = [newProperties objectForKey:key];
您可以通过记录 class:
来验证value
是一个日期
NSLog(@"value class = %@", [value class]);
作为旁注。如果您确实有所示格式的日期字符串,则您的格式说明符需要为 yyyy-MM-dd HH:mm:ss Z
.