Ich bin ziemlich neu, also Entschuldigung, wenn die Antwort offensichtlich ist.Tage hinzufügen - Google Scripts
Ich versuche, Tage vom heutigen Datum hinzuzufügen und zu subtrahieren. Die Idee ist schließlich, das Datum von nächsten Montag und letzten Montag zu berechnen.
Ich habe here geschaut, die mein erstes Problem gelöst hat, aber das nächste verwirrt mich: Subtrahieren Tage vom heutigen Datum funktioniert ohne Problem. Hinzufügen gibt ein ungültiges Datum an.
Der Code ist:
function findDate() {
var d = new Date();
var n = d.getDay();
var makeDate = new Date(d.setDate(d.getDate()));
Logger.log(makeDate)
var weekDaysTo = new Array(7); //array of days to following Monday
weekDaysTo[0]= 1
weekDaysTo[1] = 7
weekDaysTo[2] = 6
weekDaysTo[3] = 5
weekDaysTo[4] = 4
weekDaysTo[5] = 3
weekDaysTo[6] = 2
Logger.log('weekDaysTo gives '+weekDaysTo[n])
var weekDaysFrom = new Array(7); //array of days to previous Monday
weekDaysFrom[0]= 6
weekDaysFrom[1] = 0
weekDaysFrom[2] = 1
weekDaysFrom[3] = 2
weekDaysFrom[4] = 3
weekDaysFrom[5] = 4
weekDaysFrom[6] = 5
var prevMon = new Date(makeDate+weekDaysTo[n]*3600000*24); //Converts ms into days and adds
Logger.log('Next Monday is '+prevMon);
var followingMon = new Date(makeDate-weekDaysFrom[n]*3600000*24); //Converts ms into days
Logger.log('Last Monday was ' +followingMon);
Die Protokollausgabe ist:
[16-05-22 21:17:58:419 ICT] Sun May 22 21:17:58 GMT+07:00 2016
[16-05-22 21:17:58:419 ICT] weekDaysTo gives 1
[16-05-22 21:17:58:420 ICT] Next Monday is Invalid Date
[16-05-22 21:17:58:420 ICT] Last Monday was Mon May 16 2016 21:17:58 GMT+0700 (ICT)
Dies ist unabhängig von dem Wert I zu dem Zeitpunkt hinzufügen. Ich kann nicht sehen, warum das Subtrahieren funktioniert, aber das Hinzufügen verursacht ein ungültiges Datum. Das Ändern der hinzugefügten Zahlen hat keine Auswirkungen, sondern ändert sich in Subtraktionsfunktionen.
, dass es hat! Und lernte etwas Neues. Vielen Dank! –