将短祖鲁格式日期转换为NSDate

时间:2012-06-22 13:03:04

标签: objective-c ios nsstring nsdate

我很难将简短的Zulu日期格式转换为NSDate对象。我找到了一些转换祖鲁字符串的答案,但我看起来像:

20111210T1000

根据我的研究,我正在尝试:

NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyyMMdd'T'HHmmss Z"];
NSDate *date = [f dateFromString:[str stringByReplacingOccurrencesOfString:@"Z" withString:@" +0000"]];
[f release];

我尝试了很多方法,但我的约会仍然没有......

我应该如何设置我的NSDateFormatter?

1 个答案:

答案 0 :(得分:1)

这是一个快速修复,在您的日期字符串中,您错过了格式中的时区,您应该将(此处为Paris one)附加到您的字符串中,它应该可以正常工作。格式也错了。

 NSDateFormatter* df = [[NSDateFormatter alloc]init];
 [df setDateFormat:@"yyyyMMdd'T'SSSZ"];
 NSString* str = @"20111210T1000-0100";   // NOTE -0100, GMT +1 Paris zone
 NSDate* date = [df dateFromString:str];
 NSLog(@"%@", date);