如何在表格视图中将 JSON 字符串更改为日期格式

How to change JSON string to date format in tableview

我正在使用 tableView 显示 JSON 数据,我想在 tableView 单元格中将 JSON 字符串转换为日期格式。

我的 JSON 字符串格式的日期:

"createdDate": "2018-08-16 11:34:59"

我想转成日期格式 在 cellForRowAt 函数中。

struct JSONInfo: Decodable {
    let createdDate: String
}

在我的 cellForRowAt 函数中:

cell.Date.text = JSONList[indexPath.row].createdDate

let createdDate = JSONlist[indexPath.row].createdDate
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
let date = dateFormatter.date(from: createdDate)
dateFormatter.dateFormat = "dd/MM/yyyy"
let IssuedDate = dateFormatter.string(from:date!)

let lastDate = JSONlist[indexPath.row].dueDate
let dateFormatters = DateFormatter()
dateFormatters.locale = Locale(identifier: "en_US_POSIX")
dateFormatters.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatters.timeZone = TimeZone(secondsFromGMT: 0)
let dates = dateFormatter.date(from: lastDate)
dateFormatter.dateFormat = "dd/MM/yyyy"
let DueDate = dateFormatter.string(from:dates!)

最后日期出错。 我在这里得到错误:

let DueDate = dateFormatter.string(from:dates!)

您想转换成哪种格式。用你想要的格式试试这个

if let dateString = JSONList[indexPath.row].createdDate{

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
let date = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd/MM/yyyy"
let dateStr = dateFormatter.string(from:date!)

cell.Date.text = dateStr

}
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" //This formate is input formated .
let formateDate = dateFormatter.date(from:"2018-08-16 11:34:59")! //here will be your json string
dateFormatter.dateFormat = "dd/MM/yyyy" // Output Formated
print ("Print :\(dateFormatter.string(from: formateDate))") // Print 16-08-2018