Ios 使用NSDateFormatter设置UIDatePicker日期

Ios 使用NSDateFormatter设置UIDatePicker日期,ios,xcode,ipad,Ios,Xcode,Ipad,我正在尝试使用会话早期从该日期选择器返回给我的日期初始化UIDatePicker。这是库存计划的一部分,需要获取库存项目上次校准的日期 使用此代码,我收到一个日期/时间字符串: NSDate *choice = [pickedDate date]; calDate = [[NSString alloc] initWithFormat:@"%@", choice]; 我以calDate中的以下字符串结束:2011-11-11 21:56:38+0000 我正在尝试使用以下代码设置日期选择器: N

我正在尝试使用会话早期从该日期选择器返回给我的日期初始化UIDatePicker。这是库存计划的一部分,需要获取库存项目上次校准的日期

使用此代码,我收到一个日期/时间字符串:

NSDate *choice = [pickedDate date];
calDate = [[NSString alloc] initWithFormat:@"%@", choice];
我以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"];
NSLog(@"cal date = %.@.",drawingInfo.drawingDate);
if([calDate length] != 0) {
    date = [dateFormatter dateFromString:calDate];

    if(date != nil) {
            [pickedDate setDate:date animated:NO];
    }
}
NSLog验证字符串是否仍处于tact状态。 如果我在If(date!=nil)上放置一个断点,它将显示date=nil


提前感谢。

日期格式中缺少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)

如果格式与日期字符串不匹配,则返回nil

pueden ayudarme con estan pregunta gracias