Joh*_*how 32 iphone nsdateformatter
我正在尝试创建一个格式化程序,将显示的日期格式转换为NSDate对象:
NSString *dateStr = @"2010-06-21T19:00:00-05:00";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *date = [dateFormat dateFromString:dateStr];
Run Code Online (Sandbox Code Playgroud)
问题是时区-05:00,使用上面的格式无法正确解析.有什么建议?
bry*_*yle 64
要使用冒号处理时区,您只需要使用5'Z'.这是一种非常常见的日期格式,即ISO-8601格式.这仅适用于iOS 6.x +
-(NSDate *) dateFromString:(NSString *)string {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"];
return [formatter dateFromString:string];
}
Run Code Online (Sandbox Code Playgroud)
chr*_*ssr 31
老实说,在通过格式化程序运行之前,您只需要更改源数据(删除冒号).您的原始日期字符串是非标准的,并且没有任何时区格式字符串可以在其上正常工作.
您可以在unicode.org上看到有效的输入.
ZZZ例如"-0500"
ZZZZ例如"GMT-05:00"
"-05:00"没什么
| 归档时间: |
|
| 查看次数: |
32575 次 |
| 最近记录: |