2012-01-10 4 views
0
"2012-01-30 00:00:00 +0000", 
"2012-01-31 00:00:00 +0000", 
"2012-02-01 00:00:00 +0000" 

У меня есть список дат из XML, перечисленных выше, .i нужно форматировать и sort..i я использую кодnsdateformatter часовых поясов вопросы

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
     [dateFormatter setDateFormat:@"MMM dd"]; 
     [dateFormatter stringFromDate:d]; 

я получаю (январь 30, январь 31, 1 февраля) (Индия) и клиент получает в США месте (29 января, 30 января, 31 января) ..

После этого я обновить что-то и я установить часовой пояс ..

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/Los_Angeles"]]; 

dateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] 
          autorelease]; 

я получаю неправильную дату (29 января, 30 января, 31 января) .... и я ищу другие сайты и я ставлю

[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 

Этот код работает для меня .Я не знать этот код работает для других стран

мне нужна правильная дата зависит от страны ...

+0

Я отформатировал ваш код для вас. В следующий раз прочитайте инструкции на странице редактирования. –

+1

@Rams введите правильную строку формата. Включите идентификаторы для времени и часового пояса. Тогда у вас не будет никаких проблем. Ваша проблема в том, что вы принимаете только месяц и день и усекаете время и часовой пояс. Используйте их, и это будет всегда правильный день. –

ответ

0

Установите часовой пояс для даты вы синтаксический анализ. Форматирование предполагает, что GMT и дата, которую вы печатаете, принимает ваш местный часовой пояс.

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
Смежные вопросы