我的输入 NSString
是 2017-01-11 5:33:55 am +0000
。我的代码是:
date = @"2017-01-11 5:33:55 am +0000";
uploadFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss a Z";
[uploadFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
NSDate *theDate = [uploadFormatter dateFromString:date];
但是返回的 NSDate
总是 2017-01-11 0:33:55 UTC
而不管输入的时间。这意味着如果输入是 2017-01-11 3:33:55 am +0000
,结果也是一样的。
有没有人遇到过这个问题?任何想法将不胜感激。
最佳答案
HH
是 24 小时格式的四小时,但由于您有“am”/“pm”,所以它显然是 12 小时格式。
将 dateFormat
中的 HH
更改为 hh
。
关于ios - 使用上午/下午和时区将 NSString 转换为 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41587287/