关于json:如何在没有时区的情况下解析ISO8061

How to parse ISO8061 to date without timezone

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

"date":"2018-03-11",

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

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

日期格式化程序:

1
2
3
4
5
6
7
8
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
    }()


只是用

1
2
3
4
5
6
7
8
9
10
11
12
    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"))