IST时区没有得到解析
问题描述:
我有一个字符串星期二2月23日10:12:48 IST 2014,我想获取NSdate对象的形式。我使用下面的代码片段IST时区没有得到解析
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即将完成。任何人都可以纠正我在这里犯的错误。
答
使用小的 '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]);
尝试使用'VVV',而不是'ZZZ'。我发现了另一篇文章,指出这将适用于'IST'时区。 – rmaddy
感谢您的快速回复。但是VVV也不能正常工作 – ajay