Tag des Jahres
 HomeDatum • Code-Schnipsel aktuelle Woche Beispiel  Quellcode 

Code-Schnipsel - Tag des Jahres ermitteln   (Zahl)

Sammlung von Code-Schnipseln mit Bezug auf Datums-Funktionen. In diesem Beispiel wird der Tag des Jahres mit einer JavaScript-Schreibanweisung in die HTML-Datei geschrieben. Die Berechnung erfolgt auf der Basis des ermittelten Datums für den 1. Januar des aktuellen Jahres.
datum codschnipsel date() berechnung tage julianisch

Tag des Jahres aus dem Datum der Systemzeit ermitteln

UPDATE  Script überarbeitet, Demo und Quellcode hinzugefügt

Bei der Berechnung in diesem Codeschnipsel wird ausgehend vom ersten Januar des laufenden Jahres die Differenz in Tagen zum aktuellen Datum berechnet.

Anwendung findet dieses Code-Schnipsel in Verbindung mit anderen, aus dem Systemdatum ermittelten Werten, zum Beispiel für: Nachrichten, Datumsprüfung, Umleitungen, Kalenderfunktionen, Bereitschaftspläne, Schichtpläne, Müllkalender, ...  .


Tag des Jahres + Julianisches Datum

Grundlagen-Informationen zum Date-Objekt unter Einführung 01  Einführung 02




   Arbeitsschritte

Ich setze hier die Uhrzeit für beide Datumswerte auf Null Uhr. Dann subtrahiere ich den Millisekundenwert für Heute Null Uhr vom Wert Der Aufbau ist in folgende Schritte gegliedert:

1) Ein neues Date-Objekt 'DatumHeuteNull' wird kreiert
2) DatumHeuteNull wird auf 0 Uhr gesetzt
3) Ein neues Date-Objekt 'DiesesJahrJan1' wird kreiert
4) DiesesJahrJan1 wird auf den 1. Januar 0 Uhr gesetzt


Nach diesen Schritten ist der Wert der Variablen

'DatumHeuteNull' =

und der Wert der Variablen

'DiesesJahrJan1' =

Zur weiteren Kalkulation subtrahiere ich den Millisekundenwert des 1. Januars vom Millisekundenwert des aktuellen Tages.
var TagDesJahresMs = DatumHeuteNull - DiesesJahrJan1
was einen Wert in Millisekunden von ergibt.

Aus diesem Wert wird die Anzahl der Tage ermittelt indem man durch (24*60*60*1000), dem Millisekundenwert für einen Tag dividiert.

Ergebnis:

Dann addiere ich 1 hinzu.

Warum? Weil die Kalkulation am 1. Januar um 00:00 Uhr und 1 Sekunde (bei bei den auf Null Uhr eingestellten Uhrzeiten) das eine Differenz von 0 ergeben würde, es sich aber eindeutig um den ersten Tag (nicht um den 0. Tag) des Jahres handelt. Der ermittelte Wert wird in die Variable 'DiffTagePlus' geschrieben

Ergebnis: DiffTagePlus =

Danach ermittle ich den nächsten ganzzahligen Wert mit der Math.ceil()-Funktion und schreibe den Wert in die Variable 'TagDesJahres'.
var TagDesJahres = Math.ceil(DiffTagePlus);
Ergebnis: TagDesJahres =


1  Die JavaScript Anweisungen zur Berechnung für den Tag des Jahres
var DatumHeute = new Date();
var DatumHeuteNull = new Date(DatumHeute.setHours(0,0,0,0));
var DiesesJahrJan1 = new Date(DatumHeute.getFullYear(),0,1);
var TagDesJahresMs = (DatumHeuteNull - DiesesJahrJan1);
var DiffTagePlus = (DatumHeuteNull - DiesesJahrJan1) / (24*60*60*1000) + 1;
var TagDesJahres = Math.ceil(DiffTagePlus);


2  Berechnung der julianischen Tageszahl

Die julianische Tageszahl basiert auf eine Berechnung der verflossenen Tage seit dem Jahr 4713 v. Christus. In der Astronomie wird die julianische Tageszahl als kontinuierliche Zeitzählung verwendet, um einen beliebigen Zeitpunkt eine eindeutige (Komma)Zahl zuordnen zu können.

Die julianische Tageszahl wird in zwei unterschiedlichen Zählweisen angeboten:
1) Anzahl der verflossenen Tage als ganzzahligem Anteil und dem verflossenen Tagesbruchteil in den Nachkommastellen

2) Als "diskretes julianisches Datum", nur ganze Tage (ganzzahliger Teil)

Nun ist man verleitet die julianische Tageszahl aus folgenden Werten zu errechnen:

Anzahl der Tage vom 01.01.4713 vor Chistus bis zum 01.01.0000 plus
Anzahl der Tage vom 01.01.0000 bis zum 01.01. des laufenden Jahres plus
Anzahl der Tage vom 01.01. des laufenden Jahres bis zum aktuellen Tag (Tag des Jahres)

Allerdings muss der Sprung bei der Umstellung vom julianischen zum gregorianischen Kalender berücksichtigt werden (Datum zwischen dem 04.10.1582 und dem 15.10.1582 existiert nicht)!

Eine gültige Formel für die "julianische Tageszahl" in JavaScript finden Sie auf der Seite

Wikipedia Julianisches Datum



   Anwendungsbereiche Tag des Jahres

Die ermittelten Werte für den Tag des Jahres kann man innerhalb einer Funktion weiter verarbeiten oder auch sofort zur Anzeige bringen.

a) Schreiben mit document.write()
document.write('Wert für heute: '+ TagDesJahres);
b) Alert-Meldung mit alert()
alert('Wert für heute: '+ TagDesJahres);



Ergebnis:

a)

b) als Alert-Meldung





Das könnte Sie auch interessieren: