Мне нужно показать дату в конкретном часовом поясе, включая DST (европейское время). Приложение будет использоваться в Литве, поэтому часовой пояс +3 летом и +2 в другое время. Дело в том, что у меня только список дат, и я не знаю, как показывать +3 для летних дат и +2 для других дат. В настоящее время у меня есть часовые пояса:Как показать дату с часовым поясом на дату, соответствующую определенной стране/зоне?
// Eastern European Summer Time UTC + 3 hours
NSTimeZone *timeZoneWithDst = [NSTimeZone timeZoneWithAbbreviation:@"EEST"];
//Eastern European Time UTC + 2 hours
NSTimeZone *timeZoneWithoutDst = [NSTimeZone timeZoneWithAbbreviation:@"EET"];
Но как Переберите мой список дат и расчета следует добавить +3 или +2 на сегодняшний день?
ОБНОВЛЕНИЕ Наконец-то я получил его, применив предложение Мартина Р. использовать часовой пояс по имени, а не аббревиатурой. Таким образом, дата с этим часовым поясом автоматически обрабатывает DST. Вот мой код для преобразования дат:
NSTimeZone *TimeZone = [NSTimeZone timeZoneWithName:@"Europe/Vilnius"];
NSInteger seconds = [myTimeZone secondsFromGMTForDate:someDate];
NSDate *result = [NSDate dateWithTimeInterval:seconds sinceDate:someDate];