2010-11-06 28 views
8

dönen Aşağıdaki kod var:NSDateFormatter dateFromString 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"]; 

datenil olduğunu.

Neden olursa olsun?

cevap

21

hh sembolü 1 ile 12 arasında saatlerdir. HH'u 1 ile 24 saat arasında kullanın. Ayrıca, hafta numaralandırma yılı için YYYY kullanılır. Muhtemelen bunun yerine yyyy olmasını istiyorsunuz. Ayrıntılar için Unicode Technical Standard #35'a bakın

+0

[formatter setDateFormat: @ "yyyy-AA-dd SS: dd: ss"]; NSDate * date = [formatter dateFromString: dateTxt]; nerede çalışmıyor dateTxt = 2013-04-03 15:39:54 – Nik

+0

evet James Doğru, "yyyy" bir tarihte yıllarını temsil etmek için kullanılır ve "YYYY", belirli veriler için hafta sayısını almak için kullanılır –