从字符串格式化日期 - swift3
Format Date from String - swift3
嗨,我正在尝试从字符串 (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)
是 Date
对象的 description
的结果。它与任何给定的字符串格式无关。
要将 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!)
您在 dateString
而不是 dateFromString
上呼叫 dateFormatter.date
。由于 "08-05-1988"
与 "yyyy-mm-dd hh:mm:ss Z"
的指定格式不匹配,dateFormatter.date
returns nil
.
let date = Date()
let format = DateFormatter()
format.dateFormat = "dd-MM-yyyy"
let formatDate = format.string(from: date)
嗨,我正在尝试从字符串 (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)
是 Date
对象的 description
的结果。它与任何给定的字符串格式无关。
要将 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!)
您在 dateString
而不是 dateFromString
上呼叫 dateFormatter.date
。由于 "08-05-1988"
与 "yyyy-mm-dd hh:mm:ss Z"
的指定格式不匹配,dateFormatter.date
returns nil
.
let date = Date()
let format = DateFormatter()
format.dateFormat = "dd-MM-yyyy"
let formatDate = format.string(from: date)