我们在使用 Objective-c 开发的现有 iOS 应用程序中收到了一个问题。
问题:输出日期前移一天,仅适用于 PST 时区。
我们在下面编写了将日期转换为短格式的代码。
-(NSString *)getDisplayDateFormat:(NSString *)dateString
{
NSLocale *enUSPOSIXLocale;
NSDateFormatter *inputformatter = [[NSDateFormatter alloc] init];
enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
[inputformatter setLocale:enUSPOSIXLocale];
inputformatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
[inputformatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssSSSZZZZ"];
NSDate *date= [inputformatter dateFromString:dateString];
NSDateFormatter *OutPutformatter = [[NSDateFormatter alloc] init];
[OutPutformatter setDateFormat:@"yyyy-MM-dd"];
NSString *dispalyDateString = [OutPutformatter stringFromDate:date];
return dispalyDateString;
}
输入日期字符串 = 2017-01-16T00:00:00-06:00
UTC 格式:日期 = 2017-01-16 06:00:00 +0000
输出日期字符串 = 2017-01-15
请帮助我们解决问题。