斯威夫特3不显示日期作为标签文本

斯威夫特3不显示日期作为标签文本

问题描述:

我想在swift 3中显示一些日期值作为标签文本,但获取类型转换错误。这是我的代码。斯威夫特3不显示日期作为标签文本

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

lblDate.text = s 

我收到此错误

无法指定日期类型的值类型串

任何帮助!

你有两个问题。

  1. 您正在尝试将日期分配给字符串。
  2. 您的字符串格式不正确。

这解决两个问题:

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 

这改变了字符串从2016-12-15T22:10:00Z2016/12/16

+0

不,我在这里使用的格式只是一个样本,我得到这样的日期2016-12-15T22:10:00Z,我真的需要格式 –

+1

然后请更新您的问题与您的真正问题,而不是浪费人的带误导性问题的时间。 – rmaddy

+0

尝试'“yyyy-MM-dd'T'HH:mm:ssZ”'使用这个答案http://*.com/questions/28016578/swift-how-to-create-a-date-time-stamp- and-format-as-iso-8601-rfc-3339-utc-tim/28016692#28016692 –