1、初始化button,datepicker,label等控件,初始化时间格式化器
var datePicker = UIDatePicker()
var btnShows = UIButton()
self.creatDatePicker()
btnShows.frame = CGRect(x:10,y:300,self.view.bounds.size.width-20,height:50)
btnShows.setTitle("按钮", for: .normal)
btnShows.backgroundColor = UIColor.blue
btnShows.addTarget(self, action: #selector(btnClick), for: .touchUpInside)
self.view.addSubview(btnShows)
按钮点击方法的实现:
let date = datePicker.date //创建一个日期格式器 let dformatter = DateFormatter() //为日期格式器设置格式字符串 dformatter.dateFormat = "yyyy年MM月dd日 HH:MM:ss" //为日期格式器格式化日期、时间 let dateStr = dformatter.string(from: date) let msg = "您选择的日期和时间是:(dateStr)" //创建一个UIAlertControllerdmxt (消息框),并通过该消息框显示用户选择的日期、时间 let alertController = UIAlertController(title:"当前的日期是",message:msg,preferredStyle:.alert) let cancel = UIAlertAction(title:"取消",style:.cancel,handler:nil) let okAction = UIAlertAction(title:"确定",style:.default,handler: { action in print("这里是确定的方法") }) alertController.addAction(cancel) alertController.addAction(okAction) self.present(alertController,animated:true,completion:nil)
2、creatDatePicker方法的实现
func creatDatePicker() { datePicker.frame = CGRect(x:0,y:65,self.view.bounds.width-20,height:260) datePicker.backgroundColor = UIColor.yellow //将日期选择器区域设置为中文,则选择器日期显示为中文 datePicker.locale = Locale(identifier:"zh_CN") //响应事件 datePicker.addTarget(self, action: #selector(dateChanged), for: .valueChanged) //改变控件时间选择模式 datePicker.datePickerMode = .dateAndTime //修改文字颜色 datePicker.setValue(UIColor.brown, forKey: "textColor") self.view.addSubview(datePicker) }
datepicker的响应方法的实现:
func dateChanged() { //更新提示框 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy:MM:dd HH:mm:ss" print(dateFormatter.string(from: datePicker.date)) }
3、日期选择控件文字改成中文
默认是中文,如果显示中文
//将日期选择器区域设置为中文,则选择器日期显示为中文 datePicker.locale = NSLocale(localeIdentifier: "zh_CN")
代码的效果是:点击按钮展示选中的时间,并显示到label上,效果图如下: