如何在没有时区的情况下解析 ISO8061
How to parse ISO8061 to date without timezone
我以 JSON 格式从服务器接收数据,其中一个字段是 date
,其中包含年、月和日:
"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 格式从服务器接收数据,其中一个字段是 date
,其中包含年、月和日:
"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"))