本文介绍了为什么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返回错误的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 12:17