Rad*_*dix 2 iphone xcode objective-c uidatepicker
你可以告诉我如何从UIDatePicker中提取日期,我提取了月份,但我无法提取日期,请帮帮我
谢谢
该NSDate目的可以通过只访问该被提取date的对象的属性:
NSDate *dateFromPicker = [someDatePicker date];
Run Code Online (Sandbox Code Playgroud)
如果你想提取一个人选择的月,日和年的详细信息,这有点复杂(但只是一点点).解决方案是使用NSCalendar参考 - 您可能想要使用Gregorian.
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
Run Code Online (Sandbox Code Playgroud)
现在,您应该使用无符号整数单位标志来指定要从日期(即日期,日期,年份,时代等)中提取的单位.使用按位| 选择多个单位标志:
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit;
Run Code Online (Sandbox Code Playgroud)
现在创建一个日期组件对象:
NSDateComponents *components = [calendar components: unitFlags fromDate: dateFromPicker];
Run Code Online (Sandbox Code Playgroud)
从此组件日期开始,您现在可以提取unitFlags整数中提到的整数值:
int year = [components year];
int month = [components month];
Run Code Online (Sandbox Code Playgroud)
所有其他属性(即日,月,日等)在这样的组件对象中是未定义的 - 记住,您只能提取您明确表示要提取的内容.
最后,释放日历对象以避免内存泄漏:
[calendar release];
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.有关详细信息,请参阅Apple参考:http: //developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/DatesAndTimes/DatesAndTimes.html