将事件添加到iPhone日历时的日期问题

时间:2010-12-21 13:09:19

标签: iphone events nsdate eventkit

在将事件添加到iphone的日历时,日期将重置为1.1.2001,我不知道为什么。

id arg1 = [args objectAtIndex:0];  // start
id arg2 = [args objectAtIndex:1];  // end
id arg3 = [args objectAtIndex:2];  // title
id arg4 = [args objectAtIndex:3];  // location
id arg5 = [args objectAtIndex:4];  // text

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *startdate = [df dateFromString: arg1];
NSDate *enddate = [df dateFromString: arg2];

EKEventStore *eventStore = [[[EKEventStore alloc] init] autorelease];

EKEvent *event  = [EKEvent eventWithEventStore:eventStore];

event.title     = arg3;
event.location  = arg4;
event.notes     = arg5;
event.startDate = startdate;
event.endDate   = enddate;



[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];

输入似乎很好,因为

NSLog([args objectAtIndex:0]);

写下正确的日期。我没有真正的想法:(

2 个答案:

答案 0 :(得分:0)

您的输入可能正确但格式化程序不正确。请查看这两行。我相信这个错误就在那里

[df setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *startdate = [df dateFromString: arg1];

答案 1 :(得分:0)

[df setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
到目前为止,工作正常。