2016-03-28 7 views
1

Ich entwickle eine Anwendung, in der ich sicherstellen muss, dass ein Dienst offen ist (d. H. Die aktuelle Stunde liegt innerhalb der Öffnungszeiten des Dienstes).Öffnungs- und Schließzeiten mit 24-Stunden-Uhr

Ich benutze eine 24-Stunden-Uhr und habe Schwierigkeiten, die Logik zu schreiben, damit es richtig funktioniert, hauptsächlich wegen der Nacht (0-12) Stunden. Meine derzeitige Lösung ist die folgende, aber wie ich bereits erwähnt habe, funktioniert das nicht, denn wenn die Schlussstunde 5 Uhr (5 Uhr) und die aktuelle Stunde 22 Uhr (22 Uhr) ist, 22> 5 = Wahr, wird Falsch zurückgegeben und schlägt fehl.

Meine Frage ist also, wie gehe ich effektiv von 0-12 Uhr Stunden?

if (self.hour < start || self.hour >= end) 
    return false; 
else 
    return true; 

Antwort

0

so etwas wie dies funktionieren sollte:

// get current hour 
let calendar = NSCalendar.currentCalendar() 
let now = NSDate() 
let dateComponents = calendar.components(.Hour, fromDate: now) 
let currentHour = dateComponents.hour 

// opening hours 
let startingHour = 22 
let endingHour = 6 

// check for different starting and ending hour 
if startingHour == endingHour { 
    print("no valid opening hours") 
    // return 
} 

// check if current hour is within opening hours 
if startingHour < endingHour { 
    // e.g. 7 - 15 
    if currentHour >= startingHour && currentHour < endingHour { 
     print("opened") 
    } else { 
     print("closed") 
    } 
} else { 
    // e.g. 22 - 6 
    if currentHour >= startingHour || currentHour < endingHour { 
     print("opened") 
    } else { 
     print("closed") 
    } 
} 
Verwandte Themen