mysql - 如何将 JSON 对象中返回的 mySQL 日期时间转换为 Swift 日期?
问题描述
我有一个 JSON 对象,其中有一个 mySQL 日期时间,我需要在 Swift 中对其进行解码并将其与另一个日期进行比较。如何将此 mySQL 日期时间转换为 Swift 日期?
以下是 JSON 对象中返回的内容:
{"startDate": "Sun, 02 Aug 2020 00:00:00 GMT"}
这就是我们尝试解码它的方式:
struct jsonDate: Codable {
let startDate: String
}
let tempDate = try JSONDecoder().decode(jsonDate.self, from: data)
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let previousSunday = dateFormatter.date(from: tempDate.startDate)!
解决方案
根据您为 JSON 提供的字符串,您在格式化程序上设置的日期格式不正确。您设置的格式与 ISO-8601 格式的字符串匹配,例如
2020-02-08 00:00:00 Z
但你的字符串需要像这样的格式
E, dd MMM yyyy HH:mm:ss ZZZZ
反而。
推荐阅读
- django - 在 Django 站点框架中,子域是否被视为“网站”?
- python - python pandas循环融化或旋转多个df
- javascript - React - Jest RTL 检查元素是否不可见
- python - 列表继承方法的不可散列类型错误
- python - 对 PHP 和 Python 使用一致的 ODM
- python - 使用 Python 的 CSV 库没有以所需的速率进行数据记录
- json - 从 node-red-contrib-tasmota JSON 获取 Zigbee 设备信息
- sql - SQL 删除带约束的行
- python - 返回烧瓶中现有的 JSON 文件
- django - 在 django rest 框架中限制详细视图