NSDateFormatter 行为问题
我在 iPhone 编程中使用 NSDateFormatter 时遇到问题。 下面是我的代码片段。
NSString *inputDate = @"2011-03-14";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *entryDate = [formatter dateFromString:inputDate];
[formatter release]
我得到的结果是
2011-03-13 16:00:00 +0000
相当于 2011-03-14 00:00:00 的 GMT。 (我的时区是 GMT +08:00)
为什么我会收到此消息?如何得到 2011-03-14 00:00:00 作为结果?
谢谢。
〜一月
I have a problem using NSDateFormatter in iPhone programming.
Below is my code snippet.
NSString *inputDate = @"2011-03-14";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *entryDate = [formatter dateFromString:inputDate];
[formatter release]
The result I am getting is
2011-03-13 16:00:00 +0000
which is the GMT equivalent of 2011-03-14 00:00:00. (My time zone is GMT +08:00)
Why I am getting this? How to get 2011-03-14 00:00:00 as the result?
Thanks.
~Jan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 设置时区
。或者,我会尝试通过以下方式设置格式化程序的区域设置
You can set the timezone using
. Alternatively I would try to just set the formatter's locale by
请看一下这个
NSDateFormatter 返回意外结果
这就是 苹果建议
Pls take a look at this
NSDateFormatter returns unexpected results
This is what Apple recommends
您可以尝试将时区添加到原始字符串中
You can try to add the timezone to your original string