NSDateFormatter возвращает ноль - PullRequest
       3

NSDateFormatter возвращает ноль

2 голосов
/ 06 октября 2011

Может кто-нибудь сказать, почему этот фрагмент кода возвращает ноль в моем файле журнала:

    NSString *dateString = [[NSString alloc] initWithString: @"2011-08-23 15:00"];

NSLocale *englishLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-mm-dd HH:MM"];
[dateFormatter setLocale:englishLocale];

NSLog(@"%@",[dateFormatter dateFromString:dateString]);

Большое спасибо.

Ответы [ 3 ]

6 голосов
/ 06 октября 2011

Проверьте мой вариант:

NSString *dateString = [[NSString alloc] initWithString: @"2011-08-23 15:00"];

NSLocale *englishLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//HH:MM -> HH:mm
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
[dateFormatter setLocale:englishLocale];

NSLog(@"%@",[dateFormatter dateFromString:dateString]);

Как вы видите, я изменил формат даты на: @"yyyy-MM-dd HH:mm"

Все форматы можно найти здесь: UNICODE LOCALE DATA MARKUPЯЗЫК (LDML)

3 голосов
/ 06 октября 2011

Вы должны быть верны от «ЧЧ: ММ» до «ЧЧ: мм»

NSString *dateString = [[NSString alloc] initWithString: @"2011-08-23 15:00"];

    NSLocale *englishLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en"];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //HH:MM -> HH:mm
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    [dateFormatter setLocale:englishLocale];

    NSLog(@"%@",[dateFormatter dateFromString:dateString]);
0 голосов
/ 06 октября 2011

http://www.picksourcecode.com/ps/ct/161110.php

Для получения дополнительных форматов даты

...