从UIDatePicker中提取日期

时间:2010-11-13 10:36:18

标签: iphone objective-c xcode uidatepicker

你可以告诉我如何从UIDatePicker中提取日期,我已提取月份但我无法提取日期,请帮帮我

谢谢

2 个答案:

答案 0 :(得分:6)

只需访问对象的NSDate属性即可提取date对象:

NSDate *dateFromPicker = [someDatePicker date];  

如果您想提取一个人选择的月,日和年的详细信息,这有点复杂(但只是一点点)。解决方案是使用NSCalendar参考 - 您可能想要使用Gregorian。

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];

现在,您应该使用无符号整数单位标志来指定要从日期(即日,月,年,时代等)中提取的单位。使用按位|选择多个单位标志:

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit;

现在创建一个日期组件对象:

NSDateComponents *components = [calendar components: unitFlags fromDate: dateFromPicker];

从这个组件日期开始,您现在可以提取unitFlags整数中提到的整数值:

int year = [components year];
int month = [components month];

所有其他属性(即日,月,日等)在这样的组件对象中是未定义的 - 记住,您只能提取您明确表示要提取的内容。

最后,释放日历对象以避免内存泄漏:

[calendar release];

希望这会有所帮助。 有关更多信息,请参阅Apple参考: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/DatesAndTimes/DatesAndTimes.html

答案 1 :(得分:0)

您可以访问date课程的UIDatePicker属性来获取日期!