如何从以下日期获取日期“2014-05-16T16:15:07 + 01:00”
我使用了NSDateFormatter,如下所示,但它没有用。结果是null。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
[dateFormatter dateFromString:sDate];
答案 0 :(得分:1)
删除日期格式字符串中Z
周围的单引号:
NSString *sDate = @"2014-05-16T16:15:07+01:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"]; // 5 Zs is technically correct here.
NSDate *result = [dateFormatter dateFromString:sDate];
NSLog(@"result: %@", result); //result: 2014-05-16 15:15:07 +0000
当引用Z时,日期格式化程序期望输入字符串中的文字“Z”字符而不是时区作为GMT的偏移量,这是您的日期字符串所包含的内容。