Ich habe ein Google-Formular, das Benutzer auffordert, PTO-Anfragen einzugeben. Ich schreibe ein Skript, das berechnet, in welchem Bezahlzeitraum der PTO startet. Ich habe versucht, Antworten auf ähnliche Fragen auf andere Threads zu kopieren, aber mein Code funktioniert nicht. Ich habe folgende Schnipsel:Berechnen, in welchem Bezahlzeitraum ein Datum in Google-Skript fällt
var FIRST_PAY_PERIOD = new Date("5/01/2016"); //Sunday of First pay period
var MILLISECONDS_IN_DAY = 86400000;
function SheetHandler(sheet) {
var _sheet = sheet;
var _data = getRowsData(_sheet);
var _markPending = function(d) {
d.state = PENDING_STATE;
d.identifier = Utils.generateUUID();
var startOfLeave = Date(d.leaveStartDate);
var payPeriod = FIRST_PAY_PERIOD + (Math.floor(((startOfLeave - FIRST_PAY_PERIOD)/MILLISECONDS_IN_DAY)/14) * 14);
Logger.log("First Pay Period " +FIRST_PAY_PERIOD);
Logger.log("Start of Leave " +startOfLeave);
Logger.log ("Delta " +(startOfLeave - FIRST_PAY_PERIOD));
Logger.log("Pay Period " +payPeriod);
d.payPeriod = payPeriod;
Die Logger Ausgabe wird wie folgt dar:
[16-05-11 10: 28: 10: 914 PDT] Erster Pay Zeitraum Sun 1. Mai 2016 00.00 Uhr: 00 GMT-0700 (PDT)
[16-05-11 10: 28: 10: 915 PDT] Anfang des Leave Mi 11. Mai 2016 10.28.10 GMT-0700 (PDT)
[16 -05-11 10: 28: 10: 916 PDT] Delta NaN
[16-05-11 10: 28: 10: 917 PDT] Bezahlzeitraum So May 01 2016 00:00:00 GMT-0700 (PDT) NaN
Code Frage - warum bekomme ich "NaN" als das Delta zwischen den 2 Daten? Frage formulieren - wie schreibe ich die berechnete Bezahlfrist als nur "15.05.2016" aus?
sind Sie sicher, dass die 'NaN' ist immer noch da, nachdem Sie eingewickelt' (startOfLeave - FIRST_PAY_PERIOD) 'in Pars? Das wäre der Fehler, wenn Sie diese Subtraktion nicht in Parens eingepackt hätten. – pherris
Wie lauten die Datentypen der Variablen 'FIRST_PAY_PERIOD' und' startOfLeave'? 'Logger.log (" typeof startOfLeave: "+ typeof startOfLeave);' Führen Sie den Code aus und wählen Sie im VIEW-Menü LOGS. –
Ja, der Ausgang ist wie gezeigt mit dem Code wie gezeigt. Ich sehe das NaN sowohl in der Logger-Ausgabe als auch wenn es in die Tabelle zurückgeschrieben wird –