以编程方式将事件添加到 iCal 时出现错误时间

发布于 2024-12-04 22:06:56 字数 577 浏览 1 评论 0原文

我试图使用此代码添加一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自此以后,行同陌路 2024-12-11 22:06:56

您没有考虑时区。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文