PiterPan PiterPan - 2 years ago 124
Swift Question

Bad converting String to NSDate

I have a problem with converting String to NSDate. In my text field when user tap on it, is a possibility to chose a date using

as a date in
looks like that: "yyyy-mm-dd" Now when I try to convert date for example on 2016-05-13 using this method:

func changeStringToNSDate(){

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-mm-dd"
let from = moreSorts.fromDatePickerTextField.text!
let fromDate = dateFormatter.dateFromString(from)



When I print
I recieve an information that
is not 2016-05-13 but 2016-01-11 23:58:00 +0000. I don't know why I have 2016-01-11 when in my
String shows 2016-05-13

Answer Source

It's difficult to tell what might be going wrong for sure with the information you've provided. In a Swift playground I'm getting 2016-01-13 and not 2016-01-11, but if I change the date format, I can get 2016-05-13:

dateFormatter.dateFormat = "yyyy-MM-dd"

The uppercase MM is key. I would check out this website to play around with the date format options:


Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download