首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDateFormatter错误

NSDateFormatter错误
EN

Stack Overflow用户
提问于 2014-01-06 11:01:18
回答 1查看 92关注 0票数 0

我写了一个代码块

代码语言:javascript
复制
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];

NSLog(@"date:%@,string:%@", aDate,[dateFormatter stringFromDate:aDate]);

它适用于大多数date,但如果date是2013-12-30,则它的工作方式很奇怪。

日志字符串为date:2013-12-30 16:00:00 +0000,string:2014-12-31

为什么?为什么2013-12-30转换为字符串的日期是2014-12-31?

EN

回答 1

Stack Overflow用户

发布于 2014-01-06 11:06:36

你给它的NSDate是格林威治时间下午4点。你可能不在格林尼治标准时间,所以它格式化了你当前时区的时间/日期,它至少晚了8小时。

使用本地时区创建您的NSDate,或者如果您确实想要一个没有时间的日期,请使用NSDateComponents。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20942272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档