我有一个NSString
包含字符串的对象2013-02-28
。默认情况下,UIDatepicker
显示当前日期,但我想显示NSString
对象中的任何日期。
我正在将NSString
对象转换为NSDate
,但我不知道如何UIDatePicker
在UIDatePickerModeDate
. 我怎么能这样做?我已经尝试过该setDate:
方法,但它不起作用。
我有一个NSString
包含字符串的对象2013-02-28
。默认情况下,UIDatepicker
显示当前日期,但我想显示NSString
对象中的任何日期。
我正在将NSString
对象转换为NSDate
,但我不知道如何UIDatePicker
在UIDatePickerModeDate
. 我怎么能这样做?我已经尝试过该setDate:
方法,但它不起作用。
这应该适合你。在将其发送到 NSDatePicker 之前,您可能需要将 NSString 转换为 NSDate。请记住,您可能需要设置 NSDateFormater 的时区以避免极端情况。
//Given self.datepicker is your UIDatePicker
NSString *dateString = @"2013-03-28";
NSTimeZone *timezone = [NSTimeZone systemTimeZone];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatterGMTAware dateFromString:dateString];
self.datePicker.date = date;
-(IBAction)btnDateClicked:(id)sender{
theDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0, 44.0, self.view.frame.size.width, 0.0)];
theDatePicker.datePickerMode = UIDatePickerModeDate;
theDatePicker.minimumDate=[NSDate date];
// ************To keep the selected date**********
NSString *dateString = [NSString stringWithFormat:@"%@",btnDate.titleLabel.text ];
NSTimeZone *timezone = [NSTimeZone systemTimeZone];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:timezone];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateString];
theDatePicker.date = date;
}