Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

Магия с NSDateFormatter - Программирование iOS/iPhone

19.02.2015, 13:12. Просмотров 599. Ответов 2
Метки нет (Все метки)

Всем привет!

Со вчерашнего дня не могу побороть преобразование даты из строкового представления в NSDate.. Сто раз перепроверил по http://www.unicode.org/reports/tr35/...ormat_Patterns и прочим источникам - не могу понять в чем проблема..

Дата приходит в формате "Tue, 26 Mar 2013 11:52:00 EDT". Пытаюсь преобразовать ее следующим образом:

Objective-C
1
2
3
4
5
    NSString *strDate = @"Tue, 26 Mar 2013 11:52:00 EDT";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];
    
    NSDate *date = [dateFormatter dateFromString:strDate];
На выходе все равно nil. Начал методом исключения уменьшать входную строку, и столкнулся с тем, что даже следующее преобразование не работает:
Objective-C
1
2
3
4
5
    NSString *strDate = @"Mar 2013 11:52:00";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MMM yyyy HH:mm:ss"];
    
    NSDate *date = [dateFormatter dateFromString:strDate];
Это вогнало меня в ступор(( Вроде бы куда уже проще?

Буду рад, если кто-то сможет указать мне на мои ошибки..
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2015, 13:12     Магия с NSDateFormatter
Посмотрите здесь:

Python Магия с if..else
Delphi 6 CheckBox Магия!
Магия ip
C# Магия ComboBoxes
Магия со стилями Ruby on Rails
C++ Массивы, магия
C# Магия с ObservableCollection
C++ Магия OpenMP
Магия в lazarus Lazarus
PHP Магия математики
C++ Магия отладчика
Delphi БД Магия

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
19.02.2015, 13:29     Магия с NSDateFormatter #2
попробуйте 'z' вместо 'ZZZ'
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
23.02.2015, 13:27  [ТС]     Магия с NSDateFormatter #3
К сожалению тоже не помогло..

Добавлено через 35 минут
Решилось использованием категории для NSDataFormatter, где был следующий init + добавил у себя таки фикс, рекомендованый glvrzzz:
Objective-C
1
2
3
4
5
6
7
8
9
- (id)initWithSafeLocale {
    static NSLocale* en_US_POSIX = nil;
    self = [self init];
    if (en_US_POSIX == nil) {
        en_US_POSIX = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
    }
    [self setLocale:en_US_POSIX];
    return self;
}
Код взят с просторов интернета, еще не понял толком, в чем дело, но теперь все заработало.
Yandex
Объявления
23.02.2015, 13:27     Магия с NSDateFormatter
Ответ Создать тему
Опции темы

Текущее время: 16:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru