iOS-UIDatePicker

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.‘
    self.view.backgroundColor = [UIColor orangeColor];
   
    self.datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, 216)];
    self.datePicker.datePickerMode = UIDatePickerModeDate;
    self.datePicker.backgroundColor = [UIColor groupTableViewBackgroundColor];
    [self.view addSubview:self.datePicker];
   
    [self.datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];//重点:UIControlEventValueChanged
   
    //设置显示格式
    //默认根据手机本地设置显示为中文还是其他语言
    NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];//设置为中文显示
    self.datePicker.locale = locale;
   
   
    //当前时间创建NSDate
    NSDate *localDate = [NSDate date];
    //在当前时间加上的时间:格里高利历
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
    //设置时间
    [offsetComponents setYear:0];
    [offsetComponents setMonth:0];
    [offsetComponents setDay:5];
    [offsetComponents setHour:20];
    [offsetComponents setMinute:0];
    [offsetComponents setSecond:0];
    //设置最大值时间
    NSDate *maxDate = [gregorian dateByAddingComponents:offsetComponents toDate:localDate options:0];
    //设置属性
    self.datePicker.minimumDate = localDate;
    self.datePicker.maximumDate = maxDate;
   
   
    _showLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(self.datePicker.frame)+20, CGRectGetWidth(self.datePicker.frame), 30)];
    _showLabel.backgroundColor = [UIColor groupTableViewBackgroundColor];
    _showLabel.textAlignment = NSTextAlignmentCenter;
    _showLabel.text = @"显示获取的日期时间";
    [self.view addSubview:_showLabel];
   
}

-(void)dateChanged:(id)sender{
    UIDatePicker *control = (UIDatePicker*)sender;
    NSDate* date = control.date;
    //添加你自己响应代码
    NSLog(@"dateChanged响应事件:%@",date);
   
    //NSDate格式转换为NSString格式
    NSDate *pickerDate = [self.datePicker date];// 获取用户通过UIDatePicker设置的日期和时间
    NSDateFormatter *pickerFormatter = [[NSDateFormatter alloc] init];// 创建一个日期格式器
    [pickerFormatter setDateFormat:@"yyyy年MM月dd日(EEEE)"];
    NSString *dateString = [pickerFormatter stringFromDate:pickerDate];
   
    //打印显示日期时间
    NSLog(@"格式化显示时间:%@",dateString);
    _showLabel.text = dateString;
   
}

你可能感兴趣的:(iOS-UIDatePicker)