ios – 使用NSDateFormatter设置UIDatePicker日期

ios – 使用NSDateFormatter设置UIDatePicker日期,第1张

概述我正在尝试初始化一个UIDatePicker,其日期是在我的会话早期从该日期选择器返回给我的.这是库存计划的一部分,需要获取库存项目上次校准的日期. 使用此代码我收到一个日期/时间字符串: NSDate *choice = [pickedDate date];calDate = [[NSString alloc] initWithFormat:@"%@", choice]; 我最终在calDat 我正在尝试初始化一个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验证字符串是否仍然有效.
如果我在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

总结

以上是内存溢出为你收集整理的ios – 使用NSDateFormatter设置UIDatePicker日期全部内容,希望文章能够帮你解决ios – 使用NSDateFormatter设置UIDatePicker日期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存