正常工作,我有以下日期:2011-04-29T14:54:00-04:00NSDateFormatter不與UTC
當它運行時通過下面的代碼將其轉換爲一個日期,日期爲null出於某種原因:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [dateFormatter dateFromString:localDate];
[dateFormatter release];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-mm-dd"];
NSLog(@"%@", [formatter stringFromDate:date]);
任何幫助,將不勝感激
解決:
好吧,我想通了。出於某種原因,此方法不起作用。
NSDate *date = [dateFormatter dateFromString:localDate];
這反而有效。希望它能幫助別人!
NSError *error = nil;
NSDate *date = nil;
[dateFormatter getObjectValue:&date forString:localDate range:nil error:&error];
哪一個是空的?您嘗試在最後登錄的字符串或從第一個日期格式化程序獲取的日期?另外,你的第二種格式看起來很奇怪:你真的想要「四位數分鐘 - 一天」嗎? – 2011-04-30 00:13:26
當我停在NSLog行的斷點處時,date變量爲nil。我只是把這個四位數的年 - 分 - 日作爲一個測試,把它寫回字符串。 – 2011-04-30 01:22:56