本文介绍了为什么NSCalendar的dateFromComponents返回错误的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我期待2010-10-11 00:00:00
I am expecting 2010-10-11 00:00:00
但我收到2010-10-10 21:00:00 +0000
But instead I receive 2010-10-10 21:00:00 +0000
我知道,我可以添加几个小时并收到所需的日期,但我不明白为什么我前一天有21个小时......
I know, that I can add a few hours and receive desired date, but I do not understand why I get previous day with 21 hours...
请帮忙!
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:2010];
[comps setMonth:10];
[comps setDay:11];
[comps setHour:0];
[comps setMinute:0];
[comps setSecond:0];
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *retDate = [cal dateFromComponents:comps];
推荐答案
我认为你的问题可以通过设置 NSTimeZone
。
I think your problem may be solved by setting the NSTimeZone
.
这篇关于为什么NSCalendar的dateFromComponents返回错误的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!