以编程方式将事件添加到 iCal 时出现错误时间
我试图使用此代码添加一个 ical 事件。
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = title;
event.startDate = date;
event.endDate = [[NSDate alloc] initWithTimeInterval:5000 sinceDate:event.startDate];
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
其中日期是 2011-09-30 20:30:00 +0000
事件添加日期为 10 月 1 日,时间为凌晨 2 点,这很奇怪。
我需要帮助。
谢谢。
I was trying to add an ical event using this code.
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = title;
event.startDate = date;
event.endDate = [[NSDate alloc] initWithTimeInterval:5000 sinceDate:event.startDate];
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
Where date is something 2011-09-30 20:30:00 +0000
The event go added on date 1st October with time 2 AM, it is very strange.
I need help.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您没有考虑时区。
2011-09-30 20:30:00 +0000 其中 +0000 表示 GTM,如果您设置 a 加上 4 小时,您将得到 2011-10-01 02: 30:00 +0400 这是您得到的日期。
You are not taking in account the timeZone.
2011-09-30 20:30:00 +0000 the +0000 means GTM, if you set a to plus 4 hours you will get 2011-10-01 02:30:00 +0400 which is the date you are getting.