为什么 NSCalendar 的 dateFromComponents 返回错误的日期?
我期待 2010-10-11 00:00:00
但我收到 2010-10-10 21:00:00 +0000
我知道,我可以添加几个小时并收到所需的日期,但我不明白为什么我得到前一天的 21 小时...
请帮忙!
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];
I am expecting 2010-10-11 00:00:00
But instead I receive 2010-10-10 21:00:00 +0000
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...
Please, help!
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];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您的问题可以通过设置
NSTimeZone
来解决。I think your problem may be solved by setting the
NSTimeZone
.如果您需要特定的时间格式,请使用该格式化程序,或者编写此格式以获得正确的时间。第一个选项...
或者如果您需要组件中的日期,请使用以下代码,例如...
或者您需要
If you need a specific time format use that formatter or else write this to get correct time. first option...
or if you need date from components use the below code like ...
or you need