如何从以下日期"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];
删除日期格式字符串中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的偏移量,这是您的日期字符串所包含的。