2017-04-19 34 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 
    } 
相關問題