Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conversion from string to date in swift returns nil

I have a problem with converting the string to date in swift 3. Here is my code, it returns me a nil value while converting.

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss +zzzz"
dateFormatter.locale = Locale.init(identifier: "bg_BG")

let recdate = dateFormatter.date(from:"Fri, 10 Mar 2017 15:03:03 +0530")!;`
like image 733
nikhil Avatar asked Oct 22 '25 04:10

nikhil


1 Answers

You set the wrong format specifier for hour and timezone. Use this:

dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss Z"
dateFormatter.locale = Locale(identifier: "en_US")
  • hh means 12-hour format so there's no hour 15. Use HH instead
  • +zzzz is invalid timezone specifier. Use Z instead
  • Unless Friday is shortened to Fri in Bulgarian, use an English locale
like image 190
Code Different Avatar answered Oct 23 '25 20:10

Code Different



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!