嗨,我正在尝试从字符串(08-05-1988)设置日期,我想将日期转换为以下给出的内容,输出也如下所示

let dateString = "08-05-1988"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
let dateFromString = dateFormatter.date(from: dateString)
let stringValue = String(describing: dateFromString)


输出:可选(1988-05-07 18:30:00 +0000)

然后,我想将输出日期从(1988-05-07 18:30:00 +0000)格式化为如下所示的其他格式。但是,当将字符串格式设置为Date时,该字符串是nil

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-mm-dd hh:mm:ss Z"
let date = dateFormatter.date(from: dateString)
let formatter = DateFormatter()
formatter.dateFormat = "dd-MMM-yyyy"
let formatedDate:String = formatter.string(from: date!)


预期产量:1988年5月8日

最佳答案

输出Optional(1988-05-07 18:30:00 +0000)description对象的Date的结果。它与任何给定的字符串格式都不相关。

要将08-05-1988转换为08-May-1988,您可以简单地使用

let dateString = "08-05-1988"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
let dateFromString = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd-MMM-yyyy"
let formatedDate = dateFormatter.string(from: dateFromString!)

关于ios - 从字符串格式化日期-swift3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45019047/

10-13 09:04