使用NSDateFormatter设置UIDatePickerdate
我正在尝试初始化一个UIDatePicker,它的date从我的会话中早期的dateselect器中返回给我。 这是库存计划的一部分,需要获取库存物料上次校准的date。
使用此代码我收到一个date/时间string:
NSDate *choice = [pickedDate date]; calDate = [[NSString alloc] initWithFormat:@"%@", choice];
我在calDate中结束了以下string:2011-11-11 21:56:38 +0000
我想用下面的代码设置我的dateselect器:
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]; } }
NSLogvalidationstring是否仍然有效。 如果我把一个断点放在if(date!= nil)上,它会显示出date = nil。
提前致谢。
您错过了date格式中的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)
如果格式不能与datestring匹配,则返回nil
- iOS检测系统音量水平变化。 私人API或不? AVSystemController_SystemVolumeDidChangeNotification
- 从外部类管理UIPickerView – 使用Swift
- 如何把从我的select器countDownDuration时间到一个整数?
- 在iOS 8中更改inputAccessoryView的框架
- 在Windows上将推送证书转换为P12格式以用于iPhone应用程序
- 使用Javascript跳转到UIWebView中的search结果
- validation电话号码ios
- 如何检测用户是否在UIMenuController中点击了格式化button?
- 在XCode上找不到基于窗口的应用程序