Swift Получите время от pickerView сделайте расчеты и сравните с некоторым временем - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь получить время из моего окна выбора.По истечении этого времени я должен добавить 1 час каждый раз до 18:00, после этого мне нужно добавить 52 минуты и 30 секунд до 6:00 утра.

@IBAction func horaApresentacao(_ sender: Any) {

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

        //GET CURRENT TIME BASED ON PICKERVIEW
        var date = datePicker.date
        let calendar = Calendar.current
        let comp = calendar.dateComponents([.hour, .minute], from:date)
        let hour = comp.hour!
        let minute = comp.minute!
        var time = String(format: "%d:%d", hour, minute)


        print("starts here ************************")

        for i in 1...11{

            if(time >= "1800" && time <= "559"){

                 date = datePicker.date.addingTimeInterval(TimeInterval(3150 * i))


            //   print(timeToAdd)
                //  convertToUTC(dateToConvert: conv)

                 let conv = dateFormatter.string(from: date)
                time = conv

            //    print(timeToAdd, "time to add")

                print(time, "hora noturna")
                 print(date)


            }else{

                date = datePicker.date.addingTimeInterval(TimeInterval(3600 * i))


                let conv = dateFormatter.string(from: date)

                time = conv

             //   print(timeToAdd, "time to add")

                print(time, "hora normal")
                print(date)

            }

       }

Например: когда яположить в мой сборщикПросмотреть 12:00 часов

Он печатает это

13: 00 обычных часов 14:00 обычных часов 15:00 обычных часов 16:00 обычных часов 17:00 обычных часов 18:00 нормальных часов >>> проблемы случаются здесь 18:08 ночных часов.>>>> это не делает правильные вычисления 19:00 ночные часы 19:53 ночные часы 20:45 ночные часы 21:38 ночные часы

И правильное время в конце должно быть 22: 22

...