EphemPedia

Anhänger der rechnenden Astronomie

Benutzer-Werkzeuge

Webseiten-Werkzeuge


datumseingabe

Dies ist eine alte Version des Dokuments!


Datumseingabe

Das Jahr erhält die ganzzahlige Variable $Y$.

Es ist zu beachten, dass es einen Unterschied in der Zählweise der Jahre gibt:

  • Historische Zählweise: Auf das Jahr 1 v.Chr. folgt direkt das Jahr 1 n.Chr. Es gibt kein Jahr Null.
  • Astronomische Zählweise: Es gibt ein „Jahr 0“, also einen Zeitraum 1.1.0000 bis 31.12.0000

Die astronomische Verwendung eines Jahres Null und negativer Jahre ist die einzige, die für arithmetische Zwecke geeignet ist. Dies lässt sich anhand folgender Beispiele zeigen:

  • Den Historikern zufolge starb Julius Cäsar am 15. März 44 v.Chr. Am 14. März 24 n.Chr. kam es zu einer Mondfinsternis.
    Wie groß ist der zeitliche Abstand zwischen diesen beiden Ereignissen? Es sind nicht $44 + 24 = 68$ Jahre, wie man vielleicht meinen könnte. Die astronomische Zählung liefert die korrekte Lösung: Cäsar starb im Jahr $-43$, und das Zeitintervall wird durch die algebraische Regel korrekt angegeben:

$$24 - ( -43) = 24 + 43 = 67\;\textrm{Jahre}$$

  • In der historischen Zählpraxis der Jahre existiert die Regel der Teilbarkeit durch 4, die die julianischen Schaltjahre definiert, nicht mehr. Diese Jahre sind tatsächlich 1, 5, 9, 13,… v.Chr. In der astronomischen Zählweise heißen diese Schaltjahre jedoch 0, –4, –8, –12 usw., und es gilt weiterhin die Regel der Teilbarkeit durch 4.

Schaltjahr

In der Kalenderrechnung, auch Computus („Rechnen mit Zeit“) genannt, wurde unter Julius Cäsar eine Schaltjahres-Regel eingeführt und von Augustus vollendet.

Die Regel lautet: Alle Jahre,

  • die durch 4 und nicht durch 100 teilbar
  • die durch 400 teilbar sind,

werden Schaltjahre genannt. Diese Jahre sind genau ein Tag länger als die Gemeinjahre. Der kürzeste Monat Februar erhält am Monatsende einen Tag mehr, um die Differenz zwischen dem siderischen Jahr und dem tropischen Jahr aufzufangen.

Beispiel für JavaScript

Die Funktion isLeap übernimmt eine Jahreszahl und gibt bei einem Schaltjahr 1 zurück, bei einem Gemeinjahr hingegen 0.

// Schaltjahr berechnen (ja/nein)
function isLeap(y) {
  if(y > 1582) {
    // Gregorianischer Kalender
    return ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) ? 1 : 0;
  }
  else {
    // Julianischer Kalender
    return (y % 4 == 0) ? 1 : 0; 
  }
}

Monatsname

Es wird ein Monat $M$ aus der Tabelle ausgewählt, der zwischen 1 und 12 liegt.

Nummer $M$ Monatsname Monatslänge $N$
1 Januar 31
2 Februar 28*
3 März 31
4 April 30
5 Mai 31
6 Juni 30
7 Juli 31
8 August 31
9 September 30
10 Oktober 31
11 November 30
12 Dezember 31

Der mit dem * gekennzeichnete Monat ist der Schaltmonat. In einem Schaltjahr hat er dann 29 Tage.

Wahl des Tages

Der Tag $D$ liegt zwischen 1 und der Länge des Monats $N$.

Der Julianische Tag JD

Der Julianischer Tag JD wird aufgrund seines Umfangs in einem eigenen Kapitel behandelt.

Tagesnummer

$Z$ liegt zwischen 1 bis 365 (bzw. 366 in einem Schaltjahr). Es gilt:

$$Z = \sum_{M = 1}^{13} N\cdot(M - 1) + D$$

Wochentage

Der Julianische Tag wird auf Betrag zwischen 0 und 7 reduziert. Diesem Wert wird der Name eines Wochentags (Tabelle) zugeordnet.

\[ \begin{align} \mathrm{wt} =&\;\mathrm{red}[{(\mathrm{round}(\mathrm{red}(JD,7) + 1),0),7}] \\=&\; \mathrm{red}({JD + 1,7}) + 1 \end{align} \]

wt Wochentag
0 Sonntag
1 Montag
2 Dienstag
3 Mittwoch
4 Donnerstag
5 Freitag
6 Samstag
7 = 0 Sonntag

Die Reduktionsfunktion red(…) und die Rundungsfunktion round(…) findet man im Kapitel Mathematische Grundlagen.

Jean Meeus gibt in seinen Astronomical Algorithms folgende Vorgehensweise an, um den Wochentag zu ermitteln:

  • Man ermittelt den Julianischen Tag für 00:00 Uhr $UT$. Der Julianische Tag für 00:00 $UT$ liefert immer eine Zahl mit der Kommastelle $0.5$, die Addition von $1.5$ ergibt daher immer eine ganze Zahl.
  • Dann addiert man $1.5$ zu diesem Wert und teilt das Ergebnis durch $7$.
  • Der ganzzahlige Rest dieser Division ist 0, 1, 2, 3, 4, 5 oder 6, und entspricht dem Wochentag laut obiger Tabelle.

Beispiel

Man ermittle den Wochtag für den 15.4.2023.

Der Julianische Tag für dieses Datum wurde bereits in Beispiel 1 ermittelt. Für 00:00 $UT$ lautet das Ergebnis $JD = 2460049.5$

Es ist nun

$$\frac{2460049.5 + 1.5}{7} = 351435,\;\text{Rest}\;6$$

und der 15.4.2023 ist daher ein Samstag.

Der ganzzahlige Rest einer Division lässt sich in diversen Programmiersprachen mit der Modulo-Funktion ermitteln. Der Operator, auch genannt Restwert-Operator, kann sich dabei unterscheiden:

  • In Java/JavaScript ist der Operator das &: $10\;\textsf{&}\;3 = 1$ (10:3 = 3, Rest 1)
  • In Python ist der Operator ebenfalls &.
  • In PHP lautet der Operator %.
datumseingabe.1708826181.txt.gz · Zuletzt geändert: 2024/12/20 01:33 (Externe Bearbeitung)