stringFromDate возвращает неправильный год - PullRequest
4 голосов
/ 18 февраля 2011
#define stdDateFormat @"YYYYMMdd'T'hh:mm:ssZ"
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:stdDateFormat];
NSString *TimeOfSync = [dateFormat stringFromDate:syncDate];
NSLog(@"date format: %@",stdDateFormat);
NSLog(@"syncDate: %@",syncDate);
NSLog(@"TimeOfSync: %@",TimeOfSync);

Зарегистрированный вывод:

date format: YYYYMMdd'T'hh:mm:ssZ
syncDate: 2009-01-03 19:00:00 +0000
TimeOfSync: 20080103T11:00:00-0800

Кто-нибудь может помочь? Единственное, что я вижу, это дополнительный пробел перед часовым поясом во входной строке даты. Спасибо.

1 Ответ

27 голосов
/ 18 февраля 2011

Используйте год для строчных букв yyyy вместо YYYY.

Прописные Y означают год начала недели , в которой указана дата (3 января,2009 год - неделя, которая начинается в 2008 году.

См. Шаблоны формата даты в Unicode .

...