all*_*wei 16 iphone objective-c nsdate nsdateformatter ios
我使用rails作为后端,默认日期输出是2008-12-29T00:27:42-08:00
但是在我的研究之后NSDateFormatter无法支持它,除了我将日期更改为2008-12-29T00:27:42-0800
这是我用来解析ISO 8601日期的代码,但它不起作用
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSLog(@"%@", [dateFormatter dateFromString:@"2008-12-29T00:27:42-08:00"]);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
gam*_*zii 48
问题在于时区到底.
您需要将其设置为:GMT-0X:00或-0X00,小时和分钟之间没有分开.
以下两种组合有效:
组合1 - 使用GMT格式(GMT-0X:00)和ZZZZ
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
NSLog(@"DATE FORMAT:%@", [dateFormatter dateFromString:@"2008-12-29T00:27:42GMT-08:00"]);
Run Code Online (Sandbox Code Playgroud)
组合2 - 使用RFC 822格式(-0X00)和ZZZ
dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSLog(@"DATE FORMAT:%@", [dateFormatter dateFromString:@"2008-12-29T00:27:42-0800"]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17679 次 |
最近记录: |