Angenommen, es gibt ein System, das die Verfügbarkeit von Daten für Ereignisse anzeigt. Wir haben einen Hauptdatenbereich, in dem alle Veranstaltungen stattfinden. Ereignisse können auch Datumsbereiche sein.Verfügbare Tage in einem Datumsbereich finden
Beispiel:
[Date X]========================================[Date Y]
[A]=====[A] [B]=====[B][C]=====[C]
[ Event A ][ Open ][ Event B ][ Event C ]
Wo Datum X und Y Datum des Hauptdatumsbereich, wo Veranstaltungen gehen. Und A, B und C sind Ereignisse, die geplant wurden.
Wie kann ich den offenen Datumsbereich effizient abrufen?
Beispiel 2:
var rangeStart = new Date("04-01-2016");
var rangeEnd = new Date("04-31-2016");
var eventAStart = new Date("04-01-2016");
var eventAEnd = new Date("04-06-2016");
var eventBStart = new Date("04-15-2016");
var eventBEnd = new Date("04-30-2016");
ich so etwas zurückgeben müssen:
var availableRangeStart = "04-07-2015";
var availableRangeEnd = "04-14-2016";
, weil diese die Daten im Hauptbereich sind, die von „Ereignisse“ nicht überlappen reicht.
Um genau zu sein auf das, was ich zu tun versucht:
Meine App ist ein Reiseplaner, wo der Benutzer die Daten für ihre Reise setzt und fügt dann verschiedene Ziele zu dieser Reise, die ihre eigenen Termine haben. (Der User geht vom 1. April bis zum 30. April nach Europa, vom 1. April bis zum 6. April in Paris, dann vom 15. April bis zum 30. April in London). Aber vom 7. April bis 14. April hat der Benutzer nichts geplant. Ich versuche, diese Daten zurückzugeben, sodass die Daten beim Hinzufügen eines neuen Ziels vorab ausgefüllt werden.
ich nicht wirklich bekommen, was Sie –
@YehiaAwad Leider bedeuten, sollte ich war klarer. Sagen wir mal für den Monat April sind 3 Veranstaltungen geplant. Event A ist vom 1. April bis zum 6. April, Event B ist vom 15. April bis 20. April und Event C ist vom 21. April bis zum 30. April. Ich muss den 7. April - 14. April abrufen (da keine Ereignisse geplant sind). – cbronson
Wenn Sie klären können, dann tun Sie dies bitte, indem Sie Ihre Frage bearbeiten. Können Sie auch den Code bereitstellen, mit dem Sie versucht haben? die Datenstruktur mit Beispieldaten? – trincot