使用NSDateFormatter设置UIDatePicker日期
问题描述:
我正尝试初始化一个UIDatePicker,该日期在我的会话中早些时候从那个日期选择器返回给我。这是库存计划的一部分,需要获取库存物品上次校准的日期。使用NSDateFormatter设置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 = %[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。
在此先感谢。
答
您错过了日期格式中的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 http://*.com/questions/15162835/how-to-use-nsdateformatter-to-venezuela gracias – tony 2013-03-01 17:24:19