json - 如何在没有时区的情况下解析 ISO8061 日期

标签 json swift timezone dateformatter

我从服务器接收 JSON 格式的数据,其中一个字段是 date,其中包含年、月和日:

“日期”:“2018-03-11”,

我不需要确切的时间,只需要日期和月份。我使用了具有区域设置的 DateFormatter,但我仍然从 UTC 时区接收日期。我住在 CET (+1)/CEST (+2) 时区,所以我想知道解析此日期的最佳方法是什么。当我从服务器收到 "2018-03-11" 时,我想得到:

date = 2018-03-11 00:00:00

日期格式化程序:

private let dateFormatter: DateFormatter = {
       let dateFormatter = DateFormatter()
        dateFormatter.calendar = Calendar(identifier: Calendar.Identifier.iso8601)
        dateFormatter.locale = Locale(identifier: "pl_PL")

        dateFormatter.dateFormat = "yyyy-MM-dd"
        return dateFormatter
    }()

最佳答案

直接使用

    dateFormatter.locale = Locale.current
    dateFormatter.timeZone = TimeZone.init(identifier: "UTC")

let dateFormatter: DateFormatter = {
            let dateFormatter = DateFormatter()
            dateFormatter.locale = Locale.current
            dateFormatter.timeZone = TimeZone.init(identifier: "UTC")
            dateFormatter.dateFormat = "yyyy-MM-dd"
            return dateFormatter
        }()

    print(dateFormatter.date(from: "2018-03-11"))

关于json - 如何在没有时区的情况下解析 ISO8061 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50278349/

相关文章:

c# - jet.com 合作伙伴 API - Rest、JSON、RestSharp?

php - 使用 Angular.js 的 HTTP POST

swift - 使用 Swift 中对象的自定义 setter 方法设置依赖属性变量

ios - App Transport Security 在允许时阻止 http 请求

php - PHP,如何设置时区?

powershell - 将字符串转换为特定的日期时间/时区

java - 使用 Java 将 JSONArray 转换为 Map

javascript - 以表格形式排列 JSON 数据

ios - 调整 View 的大小使其他 View 在 UITableViewCell 中反弹

java - 发现 JSTL 时区 (KST) 实现错误