字符串格式化日期 - swift3

问题描述 投票:0回答:3

嗨我试图从字符串格式化日期(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)

out put:可选(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日

ios date swift3 date-format
3个回答
1
投票

输出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!)

1
投票
let date = Date()

let format = DateFormatter()

format.dateFormat = "dd-MM-yyyy"

let formatDate = format.string(from: date)

0
投票

你在dateFormatter.date而不是dateString上调用dateFromString。由于"08-05-1988""yyyy-mm-dd hh:mm:ss Z"的指定格式不匹配,dateFormatter.date返回nil

© www.soinside.com 2019 - 2024. All rights reserved.