0

我在解析以“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,我得到了零,有什么线索吗?

4

1 回答 1

2

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

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

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

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

于 2012-04-16T17:36:27.827 回答