解析BST时区

时间:2012-04-16 16:56:06

标签: objective-c ios timezone nsdateformatter

我在解析以'BST'作为他的时区的日期时遇到了问题。

这是日期:2012-04-22 16:00:00 BST

这是我的代码

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];
NSDate * matchDate = [formatter dateFromString:dateStr];

例如,这对GMT很有效,但是对于BST我没有任何线索?

谢谢!

1 个答案:

答案 0 :(得分:2)

BST是一种被视为metazone的日期格式,因此您应该使用V语法对其进行解析。

我建议将您的解析字符串更改为:

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss V"];

在ZZZ周围使用引号意味着解析器应该期望文本 ZZZ,而不是时区