可能重复:
UIDatePicker and NSDate如何在UIDatePicker的一天添加标签 - 例如只是 “28” 时,选定的日期为 “28/10/2011”
我能做到这一点,怎么样?我只需要获得用户输入的一天,并把它变成一个标签,而不是整个日期(如旧:28/10/2011新:28)
感谢
可能重复:
UIDatePicker and NSDate如何在UIDatePicker的一天添加标签 - 例如只是 “28” 时,选定的日期为 “28/10/2011”
我能做到这一点,怎么样?我只需要获得用户输入的一天,并把它变成一个标签,而不是整个日期(如旧:28/10/2011新:28)
感谢
如果您的用户输入您需要以NSDateFormatter
开头的文字,然后才能从日历组件中提取日期。 (我建议收集通过UIDatePicker
日期)
//Start here for a date that is a string
NSString *userinput = @"28/10/2011";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
NSDate *date = [formatter dateFromString:userinput];
[formatter release];
//Start here if you already have an `NSDate` object
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit
fromDate:date];
NSString *dayForLabel = [NSString stringWithFormat:@"%d", [components day]];
伟大,谢谢!我会如何添加事件发送到iPhones日历使用完整的DatePicker日期? – pixelbitlabs
有关说明位于[Event Kit编程指南](http:// develo per.apple.com/library/ios/#documentation/DataManagement/Conceptual/EventKitProgGuide/EditingEventsProgrammatically.html#//apple_ref/doc/uid/TP40005158-SW1) – Joe
谢谢!另外,我把这个:http://pastie.org/2672944,但标签中有一个“%”,而不是实际的天数......这是为什么? :) – pixelbitlabs
事情是这样的:?
NSDate *date = [picker date];
NSCalendar *calendar = [picker calendar];
NSDateComponents *dateComponents = [calendar components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:date];
NSInteger day = [dateComponents day];
label.text = [NSString stringWithFormat:@"%d", day];
你看看''NSDateFormatter http://developer.apple.com/library/mac /#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html – Faser
我做了,并设法把整个日期,但不只是一天:'( – pixelbitlabs