1

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)

    }
hellosheikh
  • 2,929
  • 8
  • 49
  • 115

6 Answers6

4

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

rushisangani
  • 3,195
  • 2
  • 14
  • 18
0
func datePickerValueChanged(sender:UIDatePicker) {

        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd MMM yyyy"
        let dateString = dateFormatter.stringFromDate(sender.date)
        departureDateTextField.text = dateString

    }
Hamza Ansari
  • 3,009
  • 1
  • 23
  • 25
0
let timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .NoStyle)
print(timestamp)
Nimantha
  • 6,405
  • 6
  • 28
  • 69
Uma Madhavi
  • 4,851
  • 5
  • 38
  • 73
0

1) Add an Extension of NSDate

extension NSDate {
    func dateStringWithFormat(format: String) -> String {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = format
        return dateFormatter.stringFromDate(self)
    }
}

2) Make two public variables

var datePicker:UIDatePicker?
let formatter = NSDateFormatter()

3) Add to UIDatePicker

let dateString = NSDate().dateStringWithFormat("yyyy-MM-dd")
print("Today's Date: "+dateString)
datePicker?.date = formatter.dateFromString(dateString)!
Alvin George
  • 14,148
  • 92
  • 64
0
 func datePicker(sender:UIDatePicker) {

    let dateFormatter = NSDateFormatter()

    dateFormatter.dateFormat = "dd MMM yyyy"

    //// dd MMM yyyy == 02 Feb 2016

    let dateData = dateFormatter.stringFromDate(sender.date)

    departureDateTextField.text = dateData

}
Anurag Mishra
  • 109
  • 1
  • 9
-1
override func viewDidLoad()
{
    super.viewDidLoad()

    self.datePicker.backgroundColor = .white
    self.datePicker.datePickerMode = .date
    let loc = Locale.init(identifier: "pt-BR")
    var calendar = Calendar.current
    calendar.locale = loc
    self.datePicker.calendar = calendar
    self.datePicker.locale = loc

    self.datePicker.addTarget(self, action: #selector(ViewController.handleDatePicker), for: UIControl.Event.valueChanged)
}

@objc func handleDatePicker()
{
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd-MMM-yyyy"
    let loc = Locale.init(identifier: "pt-BR")
    dateFormatter.locale = loc
    print(dateFormatter.string(from: self.datePicker.date))
 }
Kops
  • 197
  • 4
  • sorry that answer is giving for other question it's post by mistake [https://stackoverflow.com/questions/47056329/swift-change-date-picker-language] – Kops Mar 14 '19 at 06:56