Swift 3 not showing date as label text

1.9k Views Asked by At

I am trying to show some date value as a label text in swift 3, but getting type conversion error. Here is my code.

let dateString = "2016-12-15T22:10:00Z"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd"
let s = dateFormatter.date(from: dateString)

lblDate.text = s

I am getting this error

Cannot assign value of type date to type string

Any help!

1

There are 1 best solutions below

4
On BEST ANSWER

You have two problems.

  1. You are trying to assign a Date to a String.
  2. You have the wrong format for your string.

This fixes both problems:

let dateString = "2016-12-15T22:10:00Z"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "yyyy/MM/dd"
let s = dateFormatter.string(from: date)

lblDate.text = s

This changes the string from 2016-12-15T22:10:00Z to 2016/12/16.