0
Ich mache eine iOS-App, wo Zeitschlitz zeigt mein Zeitfenster ist wie aktuelle Zeit wird das erste Mal sein und danach wird es mit 30 30 min Unterschied beginnen. Zeitschlitz funktioniert nicht richtig
import UIKit
class ViewController2: UIViewController {
lazy var timeArray = [Any]()
let formatter = DateFormatter()
override func viewDidLoad() {
super.viewDidLoad()
timeSlots(startTime: "11:44 AM", endTime: "6:00 PM", leadTime: 60, timeInterval: 30)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func timeSlots(startTime:String , endTime:String , leadTime:Int, timeInterval:Int){
formatter.dateFormat = "hh:mm a"
var startingTime = formatter.date(from: startTime)
let endingTime = formatter.date(from: endTime)
var firstTimeSlot = Calendar.current.date(byAdding: .minute , value: leadTime, to: startingTime!)
timeArray.append(formatter.string(from: firstTimeSlot!).localizedUppercase)
formatter.dateFormat = "mm"
let newMin = formatter.string(from: firstTimeSlot!)
print(formatter.string(from: firstTimeSlot!))
formatter.dateFormat = "hh"
let newHour = formatter.string(from: firstTimeSlot!)
print(formatter.string(from: firstTimeSlot!))
var i = 0
if Int(newMin)! < 30 {
let myNewHour:Int = Int(newHour)!
let newTimeIS = "30" + String(myNewHour)
firstTimeSlot = formatter.date(from: newTimeIS)
}
else {
let myNewHour:Int = Int(newHour)!
let newTimeIS = "00" + String(myNewHour)
firstTimeSlot = formatter.date(from: newTimeIS)
}
formatter.dateFormat = "hh:mm a"
print(formatter.string(from: firstTimeSlot!))
while startingTime! <= endingTime! {
guard let firstTime = Calendar.current.date(byAdding: .minute , value: i*timeInterval, to: firstTimeSlot!) else {return}
print(formatter.string(from: firstTimeSlot!))
print(formatter.string(from: firstTime))
print(formatter.string(from: startingTime!))
startingTime = firstTime
timeArray.append(formatter.string(from: firstTime).localizedUppercase)
i += 1
if firstTime == endingTime! {
break
}
}
print(timeArray)
}
}
wenn m erstes Mal 11.44 oder 11.00 Uhr nächste Einstellung 12.00 Uhr aber seine Einnahme 00.00 01.00 ike sollte diese
@Trung Anh Pham. Vielen Dank für den Bearbeitungsvorschlag. Sieht jetzt gut aus – Nithin
Gern geschehen! –