Неверное отображение даты в симуляторе iPhone - PullRequest
5 голосов
/ 06 марта 2012

Я использую этот код

NSDate *today = [NSDate date];
NSLog(@"%@",today);

В консоли отображается

0024-03-06 07:51:46 + 0000

Все нормально, кроме года. Показывает неправильный год (0024). Должно быть (2012). Может кто-нибудь сказать мне, как мне получить правильный код.

У меня правильная системная дата Mac.

1 Ответ

10 голосов
/ 06 марта 2012

Проверьте настройки календаря симулятора iPhone в Settings -> General -> International -> Calendar ->

Ваш текущий календарь - японский, если вы установите его на григорианский, тогда ваша проблема разрешится.

и вы также измените его с помощью NSDateFormatter, если вы не хотите изменять настройки симулятора -

    NSDate *today = [NSDate date];

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setCalendar:calendar];
    [dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
    NSLog(@"date = %@",[dateFormat stringFromDate:today]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...