我通过JSON得到了一个非常奇怪的日期格式。例如-“7月18日,2010 02:22:09”
这些日期始终为UTC。我正在使用NSDateFormatter解析日期,并将timeZone设置为UTC...
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[inputFormatter setDateFormat:@"MMMM, dd yyyy HH:mm:ss"];
NSDate *formatterDate = [inputFormatter dateFromString:dtStr];但是,记录的日期与我的设备的偏移量一起显示...
"2010-07-18 02:22:09 -0600“
我在这里做错了什么?
发布于 2010-07-20 11:21:06
我认为这是因为您的NSDate没有使用协调世界时的时区。文档中对NSDate的描述方法是这样描述的:
国际格式为接收器的字符串表示形式,格式为YYYY-MM-DD HH:MM:SS±HHMM,其中±HHMM表示与格林尼治标准时间的时区偏移(以小时和分钟表示)(例如,“2001-03-24 10:45:32 +0600”)。
所以,你并没有真的做错什么。NSDate的表现与预期相符。你想要达到什么目的?您是否需要字符串形式的日期?你在做日期比较吗?
https://stackoverflow.com/questions/3286703
复制相似问题