添加事件时为什么时间会改变

时间:2015-04-07 06:30:45

标签: xcode

self.eventStore = [[EKEventStore alloc] init];

NSLog(@"check addevent time :%@",self.date);

if([_eventStore respondsToSelector:@selector(requestAccessToEntityType:completion :)))

{
    [_eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        if (granted){
            addEventgranted = 1;
            EKEvent *event = [EKEvent eventWithEventStore:_eventStore];
            [event setTitle:self.showNameTitle];
            [event setStartDate: self.date];
            [event setEndDate:[[NSDate alloc]initWithTimeInterval:self.duration sinceDate:event.startDate]];
            NSTimeInterval alarmOffset = -300;
            EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:alarmOffset];
            [event addAlarm:alarm];

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

            NSLog(@"Check error %@",err);
            self.str = [[NSString alloc] initWithFormat:@"%@", event.eventIdentifier];
            NSLog(@"check self.str :: %@",self.str);

我在添加事件之前将其记录下来

:: check addevent time:2015-04-07 13:55:00 +0000

但是将时间更改添加到

晚上8:55

1 个答案:

答案 0 :(得分:1)

嘿,这个日志显示GMT时间格式。 不要担心这是你保存的正确数据。 只需使用日期格式化程序来记录您的数据。 您将获得正确的日期日志。 使用以下语法记录您的日期。

NSDate* dateTime = [NSDate date];
NSTimeZone *timeZone = [NSTimeZone defaultTimeZone];


NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:SS.SSS'Z'"];
NSString* stringDate = [dateFormatter stringFromDate:dateTime];

NLog(@"%@",stringDate);