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