什么是正确的日期格式(NSDateFormatter)?

时间:2016-04-16 13:35:50

标签: ios objective-c nsdateformatter

我正在尝试解析这个日期:2016-04-16T10:00:00-0400但我不知道在这种情况下'-0400'是什么?

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss<?>"];
                                                 ^^^
NSDate *date = [dateFormat dateFromString:@"2016-04-16T10:00:00-0400"];

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

使用

   NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
//[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
NSDate *date = [dateFormat dateFromString:@"2016-04-16T10:00:00-0400"];
NSLog(@"date ==%@",date);
 [dateFormat setDateFormat:@"yyyy"];
NSString *finalStr = [dateFormat stringFromDate:date];
NSLog(@"finalStr ==%@",finalStr);

输出

enter image description here

答案 1 :(得分:0)

感谢@ gnasher729的提示,这里是日期字段符号表:http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns

答案是2016-04-16T10:00:00-0400的日期是:

[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];