2017-07-01 6 views
0

私は時間が現在の時刻+ 1時間から始まり、それから午後5時までそれは30-30分を表示する時間配列を取得しようとしています時間の違い。タイムアレイを取得したい

func getTimeArray(){ 
    let date = Date() 
    var dateComponents = DateComponents() 
    let timeFormatter = DateFormatter() 

    let calendar = Calendar.current 
    var components = calendar.dateComponents([.hour , .minute], from: date) 

    dateComponents.hour = components.hour 
    dateComponents.minute = components.minute 
    timeFormatter.dateFormat = "h:mm a" 

    guard let startTime = calendar.date(from: dateComponents) else { 
     return } 
    for i in 0 ... 10 { 
     guard let newDate = calendar.date(byAdding: .minute , value: i + 30, to: startTime) else {return} 
     timeArray.append(timeFormatter.string(from: newDate).localizedUppercase) 
     print(timeArray) 
    } 

    print(timeArray) 

} 

と結果は以下のとおりです。 - [ "12:53"、 "12:54"、 "12:55"、 "12:56"、 "12:57"、「12 「58 PM」、「12:59 PM」、「1:00 PM」、「1:01 PM」、「1:02 PM」、「1:03 PM」] 必要なもの: 」、 "1時00分"、 "午前1時30分"、 "2時00分"]

答えて

1

あなたの必要性のために、より構造化された方法:すべてのあなたが日付形式を設定する方法について

func getTimeArray(){ 
     var timeArray = [String]() 
     let timeFormatter = DateFormatter() 
     timeFormatter.dateFormat = "h:mm" 

     for i in 0 ... 10 { 
      guard let dt:Date = Calendar.current.date(byAdding: .minute, value: 30*i, to: Date()) else {return} 
      timeArray.append(timeFormatter.string(from: dt).localizedUppercase) 

     } 
     print(timeArray) 
    } 
0

その。 timeFormatter.dateFormat = "h:mm"

変更timeFormatter.dateFormat = "h:mm a":あなたは、異なるタイムフォーマットNSDateFormatter.com

あなたの修正のために参照することができます

関連する問題