2017-04-19 70 views
0

我有一个使用DateFormatter转换成日期的UNIX时间戳列表。该阵列我格式化后已经是这样的:我应该使用什么技术来组织这个日期列表?

2017年4月19日04:50

2017年4月19日07:50

2017年4月20日14:31

2017年4月20日16:55

2017年4月20日21:08

2017年4月21日01:25

04-22-2017 05:34

我想这样做的目的是为了一个日期表而不显示同一天两次,如:日 - 小时,小时,小时,而不是日 - 小时,日 - 小时,一天一小时。我应该用字典去做吗?你熟悉一个简单的方法来做到这一点?谢谢!

+0

的UNIX的帖子列表时间戳 –

+0

乘坐DateFormatter只有日期样式和相互比较数组对象,如果新的对象有相同的日期,然后采取一个字符串和追加日期第一然后每次如果日期是相同的,然后追加时间只有 – Pankaj

+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 
    } 
相关问题