带有时区的 NSDateFormatter 出现问题

Trouble with NSDateFormatter with Timezone

我需要从字符串中获取日期:

13:00:00-05

我试过:

NSString *dateString = @"13:00:00-05";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"HH:mm:ssX"];
[dateFormatter setDateFormat:@"HH:mm:ssXX"];

DLog(@"date: %@", [dateFormatter dateFromString:dateString]);

两个结果:

date: 2000-01-01 18:00:00 +0000

格式:

[dateFormatter setDateFormat:@"HH:mm:ssZ"];

结果:

date: 2000-01-01 18:00:00 +0000

格式:

[dateFormatter setDateFormat:@"HH:mm:ss-z"];

结果:

date: 2000-01-01 12:59:59 +0000

格式:

[dateFormatter setDateFormat:@"HH:mm:ss-x"];

结果:

date: (null)

但我无法弄清楚 UTC 偏移量的格式。

有什么建议吗?

x-05.

格式的时区的正确格式
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ssx"];