如何在tableview中将JSON字符串更改为日期格式
Posted
技术标签:
【中文标题】如何在tableview中将JSON字符串更改为日期格式【英文标题】:How to change JSON string to date format in tableview 【发布时间】:2018-08-20 11:58:24 【问题描述】:我正在使用 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!)
在 lastdate 中出现错误。 我在这里得到错误:
let DueDate = dateFormatter.string(from:dates!)
【问题讨论】:
使用DateFormatter
。
如何在单元格中使用行函数
你能在我的代码中显示我吗
Date Format in Swift的可能重复
这个错误意味着dates
是nil
。而dates
是nil
,因为lastDate
的格式不是yyyy-MM-dd HH:mm:ss
。
【参考方案1】:
您要转换成哪种格式。用你想要的格式试试这个
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
【讨论】:
【参考方案2】: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
【讨论】:
我遇到这样的错误 'String' 类型的值没有成员 'dateFormat @user9772943 更新您的确切代码,我会修复它 @user9772943 顺便说一句,我的代码在我的项目中运行,所以你可以尝试一下 :) @user9772943 答案是正确的,可能是你做错了什么。 struct ChallanInfo: Decodable let createdDate: String以上是关于如何在tableview中将JSON字符串更改为日期格式的主要内容,如果未能解决你的问题,请参考以下文章
如何在 sqlalchemy 查询中将日期时间更改为字符串? [复制]