Ich versuche, ein Datumsraster für einen Kalender zu erstellen. Ich habe es funktioniert, wenn Sonntag als "erster Tag der Woche" bezeichnet wird.Verwenden des Moments isoWeekday zum Erstellen eines Datumsrasters
Mit Sonntag als Starttag der Woche (in Betrieb)
der Monat März gegeben, 2017 würde das Gitter mit Sunday, February 26, 2017
, beginnt und mit Saturday, April 1, 2017
beenden. Dies ist, wie ich es tue:
let now = moment('2017/03/06/', 'YYYY/MM/DD');
let startOfGrid = now.clone().startOf('month').startOf('week');
let endOfGrid = now.clone().endOf('month').endOf('week');
console.log(startOfGrid.format()); // Sunday, Febrary 26, 2017
console.log(endOfGrid.format()); // Saturday, April 1, 2017
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
ich dann diese beiden Daten abgehen in die Tage zu füllen, zwischen denen mir alle Termine für einen Kalender Raster gibt.
Verwendung Samstag oder Montag als Starttag der Woche (nicht funktioniert)
Ich brauche die Woche auf beiden Samstag anfangen, unterstützen zu können, oder Montag, aber ich kann nicht scheinen zu Holen Sie sich die richtigen Einstellungen, und die Ergebnisse sind nicht über Monate konsistent. Lassen Sie uns Samstag als Beispiel verwenden:
Angesichts der Monat März wieder, aber Einstellung der Anfang der Woche zu saturday
, und mit der startOf('isoWeek')
, ich am Montag als Anfang der Woche (sollte Samstag sein):
let now = moment('2017/03/06/', 'YYYY/MM/DD');
let startOfGrid = now.clone().startOf('month').isoWeekday('saturday').startOf('isoWeek');
let endOfGrid = now.clone().endOf('month').isoWeekday('saturday').endOf('isoWeek');
console.log(startOfGrid.format()); // Monday, Febrary 27, 2017
console.log(endOfGrid.format()); // Sunday, April 2, 2017
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
ich sollte einen Samstag als Beginn des Gitters und ein Freitag als das Ende bekommen.
Wie kann ich dies funktioniert?
Whoa ... hatte keine Ahnung von diesem. Du bist ein Mann. – KevBot