IST时区未被解析

时间:2014-02-13 06:27:21

标签: ios iphone nsdateformatter

我有一个字符串 Tue Feb 23 10:12:48 IST 2014 ,我想从此获取NSdate对象。我正在使用下面的代码片段

    NSString * buildTime = @"Tue Feb 23 10:12:48 IST 2014";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"EEE MMM dd HH:mm:ss ZZZ yyyy"];
    NSDate *date = [formatter dateFromString:buildTime ];

每次我获得日期变量的零值。如果我在构建时将IST更改为GMT,那么NSDate即将到来。任何人都可以纠正我在这里犯错的地方。

1 个答案:

答案 0 :(得分:1)

使用小'zzz'代替'ZZZ',

NSString * buildTime = @"Tue Feb 23 10:12:48 IST 2014";
NSLocale *indianEnglishLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_IN"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:indianEnglishLocale];
[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss zzz yyyy"];
NSDate *date = [dateFormatter dateFromString:buildTime];
NSLog(@"date %@",date);
NSLog(@"string %@",[dateFormatter stringFromDate:date]);