UIDatePicker使用注意

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *birthdayInput;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    UIDatePicker *datePicker=[[UIDatePicker alloc]init];
    
    //设置UIDatePicker显示格式,UIDatePickerModeDate只显示日期,不显示时间
    [datePicker setDatePickerMode:UIDatePickerModeDate];
    
    //打印有哪些本地化选项,zh_Hans_CN代表中国
    NSLog(@"%@",[NSLocale availableLocaleIdentifiers]);
    
    //初始化locale对象
    NSLocale *locale=[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"];
    
    //为datePicker设置locale对象
    [datePicker setLocale:locale];
    
    //监听datePicker日期改变
    [datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged];
    
    //当生日输入框获得焦点的时候显示datePicker
    [_birthdayInput setInputView:datePicker];
    
}
#pragma mark-datePicker发生改变时的回调函数
-(void)dateChanged:(UIDatePicker *)datePicker
{
    //获取改变后的日期
    NSDate *date=datePicker.date;
    
    //创建日期格式化器
    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
    
    //设置日期格式
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    
    //得到转化后的日期客串
    NSString *dateString=[dateFormatter stringFromDate:date];
    
    [_birthdayInput setText:dateString];
}

  字符串与日期之间的转换,记得使用NSDateFormatter

posted on 2015-11-14 17:59  jayhtt  阅读(164)  评论(0)    收藏  举报