我应该使用什么技术来组织这个日期列表?

时间:2017-04-19 08:29:28

标签: ios iphone swift xcode dictionary

我有一个UNIX时间戳列表,我使用DateFormatter将其转换为日期。格式化后我得到的数组是这样的:

04-19-2017 04:50

04-19-2017 07:50

04-20-2017 14:31

04-20-2017 16:55

04-20-2017 21:08

04-21-2017 01:25

04-22-2017 05:34

我想这样做,以便在没有显示同一天两次的日期表中,例如:日 - 小时,小时,小时,而不是日 - 小时,日 - 小时,日 - 小时。我应该用字典来做吗?您熟悉一种简单的方法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这不可能,因为日期格式会因此而受到干扰,然后您无法将其恢复为正确的日期格式。

但是如果你想要一个字典格式,你可以使用这个代码:

func getDatesToDictionary(dates: [Date]) -> [String: Any] {

        let dateFormatterOne = DateFormatter()
        dateFormatterOne.dateFormat = "MM-dd-YYYY HH:mm"
        let dateFormatterTwo = DateFormatter()
        dateFormatterTwo.dateFormat = "MM-dd-YYYY"

        let fullDate = dateFormatterOne.string(from: dates[0])
        let fullDateTemp = dateFormatterTwo.date(from: fullDate)
        let finalDateString = dateFormatterTwo.string(from: fullDateTemp!)

        var dateDictionary: [String: Any] = [:]
        var dateArray: [Date] = []

        let dateFormatterThree = DateFormatter()
        dateFormatterThree.dateFormat = "HH:mm"

        for eachDate in dates {

            let fullDateHour = dateFormatterOne.string(from: eachDate)
            let finalDateHourString = dateFormatterThree.date(from: fullDateHour)
            dateArray.append(finalDateHourString!)
        }

        dateDictionary = [finalDateString: dateArray]
        return dateDictionary
    }