Ich habe einige numerische Felder in meinen Blättern, die als Dauer formatiert sind (wodurch sie als Bruchteile eines Tages behandelt werden). Wenn ich sie in Formeln verwende, werden sie korrekt als Zahlen behandelt.Google Spreadsheet Script - Datum als Nummer
Ich muss sie auch in einem Skript verwenden, das ihre Summe berechnet. Im Skript erscheinen sie jedoch als Date-Objekte. Gibt es eine Möglichkeit, sie dazu zu zwingen, als Zahlen aufzutauchen? Wenn nicht, wie konvertiere ich ein Date korrekt in eine Zahl? Die Verwendung von getUTCHours
/getUTCMinutes
/getUTCSeconds
funktioniert fast, aber es Stunden auf 24 verkürzt, und verliert Genauigkeit (auch wenn ich Millisekunden verwenden, obwohl der Verlust kleiner ist). Die Date-Objekte scheinen Jahr = 1899 zu haben, was besonders merkwürdig ist.
Zur Zeit ließ ich mich auf, aber ich bin mir nicht sicher, ob es zuverlässig genug ist (die lange Zahl ist getTime
für null):
if (val instanceof Date) {
return (val.getTime() + 2209161600000)/24/3600/1000;
}
Zu wissen, was das Endformat, in dem die Daten sein sollen, und was Sie danach mit ihnen machen, würde helfen. –