Ich muss überprüfen, ob eine bestimmte Zeit zwischen zwei anderen liegen. Zum Beispiel:So überprüfen Sie die Zeitpläne
Heute: Donnerstag, 23.39
Der Laden X ist offen von 0.00 bis 11.59 Uhr Donnerstag (in Plural, seine recorrent). Eine Funktion isOpen gibt also true zurück.
ich eine Abhilfe für dieses gemacht haben, diese (Firebase) auf die Datenbank geschrieben:
{
"open" : 7200000,
"day" : "Thursday",
"close" : 93540000
}
Wo öffnen und schließen ist Millisekunden vom 01.01.1970
In der Funktion, die ich überprüfen, ob Es gibt einen Tag in der Datenbank, der dem aktuellen Tag entspricht. Danach muss ich ein Datum vom 01.01.1970 mit 11:39 PM erstellen und prüfen, ob open kleiner und close größer als die aktuelle Zeit ist.
let open = false;
if (store.schedule) {
for (sch in store.schedule) {
if (store.schedule[sch].day == day) {
open = self.checkHour(store.schedule[sch].open, store.schedule[sch].close);
}
}
}
return open;
Und checkHour
checkHour = function (open, close) {
return moment().year(1970).month(0).date(1).isBetween(moment(open), moment(close));
};
PS: Ich bin moment.js
Schreckliche, schreckliche Lösung, ich weiß. Ich bin mir sicher, dass es einen besseren Weg gibt.
Bitte aktualisieren Sie Ihre Frage mit einem Beispiel Ihres Codes. – Soviut
Erläutern Sie auch, welche Datebase Sie verwenden. – Soviut
@Soviut Ich gebe ein Beispiel in der Frage. Ich verwende Firebase – Ace