Datumsberechnung Tagesspanne hinzuzählen
Interessant? Welches Datum haben wir in 100 Tagen? Selbstverständlich können sie das Script auch zur Datumsermittlung in der Vergangenheit einsetzen. Welches Datum hatten wir vor -150 Tagen? Und mit Dezimalzahlen funktioniert das auch!
Die Funktion schreibt das Ergebnis in das Dokument:
Hier wird das Script zur Demo interaktiv eingesetzt. Prüfen sie die Möglichkeiten. Ungültige Eingaben habe ich nicht abgefangen.
Querverweise zum Thema Zeitspanne hinzuzählen:
Erklärungen: Datum wiederkehrend - Zeitspanne addieren

Beispiel: Zenzies 28-Tage-schlechte-Laune-Rhythmus (Mondeinfluss)
Wie funktioniert das?
a) Es wird ein neues Datumsobjekt geschaffen (var Zeit)
b) Das Objekt wird mit der aktuellen Zeit 'gefüllt'
c) Zu der aktuellen Zeit wird ein Wert addiert
Weil das Datumsobjekt die verstrichene Zeit in Millisekunden (seit 1. Januar 1970) enthält und der hinzu gezählte Wert ein Tageswert sein soll, muss das noch mit der Anzahl der Millisekunden / Tag multipliziert werden, also mit: 86400000
Der Syntax für die Berechnung könnte so aussehen:
var Zeit = new Date();
Zeit.setTime(JetztZeit.getTime() + Zahl * 24 * 60 * 60 * 1000);
1) Würde man eine Null hinzu addieren, würde als Ergebnis das heutige Datum angezeigt:
var Zeit = new Date();
Zeit.setTime(JetztZeit.getTime() + 0 * 24 * 60 * 60 * 1000);
2) Würde man eine 10 hinzu addieren, würde das Datum für die Zukunft angezeigt:
var Zeit = new Date();
Zeit.setTime(JetztZeit.getTime() + 10 * 24 * 60 * 60 * 1000);
3) Würde man eine -10 hinzu addieren, würde das Datum für die Vergangenheit angezeigt:
var Zeit = new Date();
Zeit.setTime(JetztZeit.getTime() + -10 * 24 * 60 * 60 * 1000);
Textausgabe
Weil das Script als Resultat einen Text liefern soll, der je nach Wert der Tageszahl anders formuliert werden muss habe ich für die Ausgabe 3 Variablen festgelegt, die den zutreffenden Ausdruck enthalten sollen. Der Wert für die Tageszahl wurde in der Variablen 'TagePlus' abgelegt. Abhängig von diesem Wert werden die Ausdrücke bestimmt. So soll das später aussehen (hier das Schema):
In 10 Tagen schreiben wir das Datum 22.02.2008
Vor 10 Tagen schrieben wir das Datum 02.02.2008
Wort01 10 Wort02 Wort03 wir das Datum xx.xx.xxxx
Den Variablen wird nach der Prüfung zugeordnet, was zutrifft:
var Variablenname = Prüfung ? Ergebnis wahr : Ergebnis falsch
var Wort01 = (TagePlus < 1) ? "Vor " : "In ";
var Wort02 = (TagePlus == 1) ? " Tag " : " Tagen ";
var Wort03 = (TagePlus < 1) ? "schrieben " : "schreiben ";
... und für den Sonderstatus Null:
if(TagePlus == 0) {
var Wort01 = "Heute, ";
var Wort02 = " Tage hinzugezählt, ";
var Wort03 = " schreiben ";

|