快速从pickerView获取时间进行计算并与一些时间进行比较

时间:2019-01-31 19:31:01

标签: swift datetime datepicker uipickerview

我正试图从我的pickerView中获取时间。 在获得此时间之后,我必须每次增加1小时,直到下午6: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)

            }

       }

例如:当我在PickerView中放置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

0 个答案:

没有答案