2012-03-22 4 views
0

Я добавляю событие в календарь и дату начала: 2012-03-22 22:56:30 +0000EKEvent/EKEventStore и часовые пояса

Однако, когда я смотрю на записи в календаре приложении его время составляет 3:56 вечера.

Так что, очевидно, что-то связано с часовыми поясами, но, посмотрев документацию для EKEvent и некоторого googling, я не мудрее, как бороться с этим.

ответ

-1

Дата EKEvents хранится с GMT + 0. Но календарное приложение отображает дату с локальными настройками часового пояса.

Так что я полагаю, вы находитесь в часовом поясе GMT-7, так как 22:56 - 7 часов = 15:56 = 3:56 вечер

Самым лучшим способом, чтобы добавить вы дату с временной зоной является использование NSDateComponents:

NSDateComponents *comps = [[NSDateComponents alloc] init]; 
[comps setYear:2012]; 
[comps setMonth:3]; 
[comps setDay:22]; 
[comps setHour:22]; 
[comps setMinute:56]; 
[comps setSecond:30]; 
NSDate* myDate = [[NSCalendar currentCalendar] dateFromComponents:comps]; 

вы можете использовать только год, месяц и день, если вы хотите (часы, минуты и секунды будет 0)

+0

«дата EKEvents сохраняются с GMT + 0» Это не похоже, так я получаю «День рождения Джона Ф. Кеннеди 2016-05-29 21:59:59 +0000» –

+0

Как вы это делаете сыграть эту дату? – Alex

Смежные вопросы