2010-11-06 10 views
8

Mam następujący kod:NSDateFormatter dateFromString powrocie nil

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; 
    /*2010-11-02 20:31:39*/ 
[df setDateFormat:@"YYYY-MM-dd hh:mm:ss"]; 
NSDate* date = [df dateFromString:@"2010-11-02 20:31:39"]; 

date jest nil.

Każdy pomysł, dlaczego?

Odpowiedz

21

Symbol hh jest używany dla godzin między 1 a 12. Użyj HH dla godzin między 1 a 24. Również, YYYY jest używany dla roku numerowania tygodniowego. Prawdopodobnie potrzebujesz zamiast tego yyyy.

[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

Aby uzyskać szczegółowe informacje, sprawdź numer Unicode Technical Standard #35.

+0

[formatter setDateFormat: @ "yyyy-MM-dd GG: mm: ss"]; NSDate * date = [formatter dateFromString: dateTxt]; nie działa tam gdzie dateTxt = 2013-04-03 15:39:54 – Nik

+0

tak James jest poprawny, "yyyy" służy do reprezentowania lat w dacie, a "YYYY" służy do uzyskiwania numeru tygodnia dla poszczególnych danych –

Powiązane problemy