我正在尝试使用以下代码解析这样的日期:2012-10-20T13:45:00+002
:
NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *date = [formatter dateFromString:@"2012-10-20T13:45:00+002"];
但是当我尝试在设备上输出它时,它的时区已经是+2,使用它:
NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"HH:mm"];
dateformatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ar_EG"];
cell.infoLabel.text = [dateFormatter stringFromDate:date];
输出是:15:43而不是13:45应该是。 任何帮助,将不胜感激。 PS:我在iPhone上运行iOS5 / 6,Xcode 4.5,我在模拟器和物理设备上都试过了。
答案 0 :(得分:0)
您需要添加区域设置和时区
[dateFormatter setLocale:[NSLocale systemLocale]]; //你想要的语言环境 [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]]; //时区相同
答案 1 :(得分:0)