iOS返回错误的GMT时间

时间:2016-03-24 17:22:44

标签: ios nsdate nsdateformatter utc

我有一种方法可以在iOS中返回GMT时间。它在大多数实例上都能正常工作,并返回类似2016-03-23T17:13:22Z的字符串。但是,我们在生产中注意到,对于某些用户,返回的日期字符串无效。例如,2016-03-24T1:02:44 PMZ2016-03-23T7:45:16 PMZPMZ代表什么?我们尝试通过更改设置中的电话区域,日历等来重现该问题,但不能。

以下是我用来生成GMT时间的方法

+ (NSString *)gmtTimeString {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    return [dateFormatter stringFromDate:[NSDate date]];
}

有人可以告诉我我做错了什么吗? Matt指出它似乎是重复的并且设置语言环境可能是一个修复?但是,有人可以让我知道什么设备设置可能导致此错误,以便我可以稍后验证修复?

0 个答案:

没有答案