Create UIDatePicker programmatically

In this Swift code snipped you will learn:

  • How to create UIDatePicker in Swift programmatically
  • Position UIDatePicker within a view
  • Add UIDatePicker as a Subview
  • Change UIDatePicker background colour
  • Handle UIDatePicker value changed event
  • Set UIDatePicker localTimeZone
  • Use NSDateFormatter to format selected UIDatePicker value

If you are interested in video lessons on how to write Unit tests and UI tests to test your Swift mobile app, check out this page: Unit Testing Swift Mobile App

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        // Do any additional setup after loading the view, typically from a nib.
        // Create a DatePicker
        let datePicker: UIDatePicker = UIDatePicker()
        // Posiiton date picket within a view
        datePicker.frame = CGRect(x: 10, y: 50, width: self.view.frame.width, height: 200)
        // Set some of UIDatePicker properties
        datePicker.timeZone = NSTimeZone.local
        datePicker.backgroundColor = UIColor.white
        // Add an event to call onDidChangeDate function when value is changed.
        datePicker.addTarget(self, action: #selector(ViewController.datePickerValueChanged(_:)), for: .valueChanged)
        // Add DataPicker to the view
    func datePickerValueChanged(_ sender: UIDatePicker){
        // Create date formatter
        let dateFormatter: DateFormatter = DateFormatter()
        // Set date format
        dateFormatter.dateFormat = "MM/dd/yyyy hh:mm a"
        // Apply date format
        let selectedDate: String = dateFormatter.string(from:
        print("Selected value \(selectedDate)")
    override func didReceiveMemoryWarning() {
        // Dispose of any resources that can be recreated.

Watch this video tutorial to learn how to create UIDatePicker using Xcode and Main Storyboard as well as how to convert milliseconds to NSDate and back.

UIDatePicker example in Swift

[raw_html_snippet id=”cookbookpagecoursesheader”]

Unit Testing Swift Mobile App

Apply Test-Driven Development(TDD) process to iOS mobile app development in Swift Preview this video course.