Jam*_*nes 5 iphone objective-c nsdateformatter ipad ios
我正在尝试从RSS提要格式化日期:
星期一,2012年2月27日10:33:00 EDT(来自RSS提要的格式)
至:
星期一,2012年2月27日上午10:33
这是我在代码中所做的事情:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d MM yyyy HH:mm:ss zzz"];
NSDate *date = [dateFormat dateFromString:@"Mon, 27 Feb 2012 10:33:00 EDT"];
[dateFormat setDateFormat:@"EE, d MMM yyyy hh:mm a"];
formatedDateLabel.text = [dateFormat stringFromDate:date];
[dateFormat release];
Run Code Online (Sandbox Code Playgroud)
然而,这始终输出:
星期一,2012年2月27日上午9:33
请注意,我的设备设置为EST.我已经尝试调整日期格式化程序以匹配EDT,但这似乎没有任何区别.
关于我做错什么的任何想法?
你没有做错任何事。发生这种情况的原因是NSTimezoneEDT 和 EST 的内部表示是相同的:
// These objects are the same:
[NSTimeZone timeZoneWithAbbreviation:@"EST"];
[NSTimeZone timeZoneWithAbbreviation:@"EDT"];
Run Code Online (Sandbox Code Playgroud)
NSDateFormatter dateFromString:足够聪明,知道从 2 月开始标记为 EDT 的日期的 GMT 偏移量应该为 -4 而不是 -5,即使这不是一个格式良好的日期。但是,当您使用它来显示日期时,如果其时区设置为 EST 或 EDT(将其视为同一事物),它将根据当时是否启用夏令时来使用适当的时区。
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |