Задать вопрос
deleted-mezhevikin
@deleted-mezhevikin

Проблема с временными зонами в NSDate?

Из разных rss получаю даты в разных временных зонах, нужно выводить в зоне пользователя [NSTimeZone systemTimeZone].


Как это правильно сделать?

Пробовал так:

- (NSDate *)convertDate:(NSString *)date
{
    NSString *dateFormat = @"EEE, dd MMMM yyyy HH:mm:ss zzz";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
    [dateFormatter setDateFormat:dateFormat];
    NSLog(@"%@ --- %@", date, [dateFormatter dateFromString:date]);
    return [dateFormatter dateFromString:date];
}

- (id)init
{
   [self convertDate:@"Sat, 02 Nov 2013 15:58:00 PDT"];
   [self convertDate:@"Fri, 27 Sep 2013 11:26:22 +0400"];
}



Вывод консоли (в моем случае московский часовой пояс)

Sat, 02 Nov 2013 15:58:00 PDT --- 2013-11-02 22:58:00 +0000
Fri, 27 Sep 2013 11:26:22 +0400 --- 2013-09-27 07:26:22 +0000
  • Вопрос задан
  • 2862 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
hybridcattt
@hybridcattt
У вас все правильно работает.
NSLog всегда выводит дату в GMT поясе.
Обратите внимание, у вас во втором случае 11:26 +04:00 это то же самое время, что и 07:26 +00:00
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы