Search code examples
iosswiftdatepickeruidatepicker

DatePicker - How to display date Month name in three characters instead of number


This is my first ever attempt at Swift or an iPhone app, so needless to say I'm not sure how to do many things at this point.

I want to show the date like this in my textfield

02 Feb 2016

But right now it displays like this

 2/7/16

here is my code

@IBAction func dateTextFieldBeginEditing(sender: UITextField) {


       // let datePickerView:UIDatePicker = UIDatePicker()

        datePickerView.datePickerMode = UIDatePickerMode.Date

        sender.inputView = datePickerView

        datePickerView.addTarget(self, action: Selector("datePickerValueChanged:"), forControlEvents: UIControlEvents.ValueChanged)

    }

    func datePickerValueChanged(sender:UIDatePicker) {


        let dateFormatter = NSDateFormatter()

        dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle


        dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle

        departureDateTextField.text = dateFormatter.stringFromDate(sender.date)

    }

Solution

  • Set date format like this!! This will give you date like 02 Feb 2016. Also remove dateStyle and timeStyle property from your code.

    let dateFormatter = NSDateFormatter()
    
    dateFormatter.dateFormat = "dd MMM yyyy"
    
    dateFormatter.stringFromDate(NSDate())
    

    This gives me output as 09 FEB 2016