2012-01-04 18 views
3

UIDatePickerを、セッションの早い段階でその日付ピッカーから返された日付で初期化しようとしています。これは、目録品目が最後に較正された日付を取得する必要がある目録プログラムの一部です。このコードを使用してNSDateFormatterでUIDatePicker日付を設定する

私は、日付/時刻文字列を受け取ります。

NSDate *choice = [pickedDate date]; 
calDate = [[NSString alloc] initWithFormat:@"%@", choice]; 

私はcalDateに次の文字列で終わる:私は2011年11月11日夜九時56分38秒0000

次のコードで日付ピッカーを設定しようとしています:

NSDate *date = [[[NSDate alloc] init] retain]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
NSLog(@"cal date = %[email protected]",drawingInfo.drawingDate); 
if([calDate length] != 0) { 
    date = [dateFormatter dateFromString:calDate]; 

    if(date != nil) { 
      [pickedDate setDate:date animated:NO]; 
    } 
} 

NSLogは文字列がまだタクト状態にあることを確認します。 if(date!= nil)にブレークポイントを置くと、date = nilと表示されます。

ありがとうございます。

+0

pueden ayudarme詐欺estan pregunta http://stackoverflow.com/questions/15162835/how-to-use-nsdateformatter-to-venezuela nilを返します。 gracias – tony

答えて

7

日付フォーマットにZフォーマット指定子がありません。

このコード:

NSString *calDate = @"2011-11-11 21:56:38 +0000"; 
NSDate *date = [[[NSDate alloc] init] retain]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
//         right here ^

date = [dateFormatter dateFromString:calDate]; 

NSLog(@"date:%@", date); 

出力:

2012-01-03 20:14:15.258 Craplet[38753:707] date:2011-11-11 21:56:38 +0000 

Zなし:

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

それは出力:

2012-01-03 20:16:10.456 Craplet[38885:707] date:(null) 

形式は、日付文字列に一致させることができない場合、それは