Swift - 日期选择控件(UIDatePicker)的用法

1,使用storyboard创建日期选择控件
首先我们将一个UIDatePicker控件和一个按钮直接添加到Main.Storyboard上。该按钮是为了点击时弹出提示框显示当前选择的日期和时间。
同时在ViewController.swift中使用IBOutlet建立起控件和事件的关联,具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class ViewController: UIViewController {
     
    @IBOutlet  var dpicker:UIDatePicker!
    @IBOutlet  var btnshow:UIButton!
     
    override func viewDidLoad() {
        super.viewDidLoad()
    }
     
    @IBAction func showClicked(sender:UIButton)
    {
        var date = dpicker.date
 
        // 创建一个日期格式器
        var dformatter = NSDateFormatter()
        // 为日期格式器设置格式字符串
        dformatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
        // 使用日期格式器格式化日期、时间
        var datestr = dformatter.stringFromDate(date)
         
        var message =  "您选择的日期和时间是:\(datestr)"
         
        // 创建一个UIAlertView对象(警告框),并通过该警告框显示用户选择的日期、时间
        let alertView = UIAlertView()
        alertView.title = "当前日期和时间"
        alertView.message = message
        alertView.addButtonWithTitle("确定")
        alertView.show()
    }
}

2,纯代码创建日期选择控件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import UIKit
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
         
        //创建日期选择器
        var datePicker = UIDatePicker(frame: CGRectMake(0.0, 0.0, 320.0, 216.0))
        //将日期选择器区域设置为中文,则选择器日期显示为中文
        datePicker.locale = NSLocale(localeIdentifier: "zh_CN")
        //注意:action里面的方法名后面需要加个冒号“:”
        datePicker.addTarget(self, action: "dateChanged:",
            forControlEvents: UIControlEvents.ValueChanged)
        self.view.addSubview(datePicker)
    }
     
    //日期选择器响应方法
    func dateChanged(datePicker : UIDatePicker){
        //更新提醒时间文本框
        let formatter = NSDateFormatter()
        //日期样式
        formatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
        println(formatter.stringFromDate(datePicker.date))
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

3,日期选择控件文字改成中文
默认日期选择控件中的文字是英文,如果想显示中文,则需要将日期选择控件的区域做如下设置
1
2
//将日期选择器区域设置为中文,则选择器日期显示为中文
datePicker.locale = NSLocale(localeIdentifier: "zh_CN")
  
posted @   brave-sailor  阅读(1245)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2014-09-25 Android 出现警告Exported service does not require permission
2013-09-25 Android中的JSON详细总结
点击右上角即可分享
微信分享提示