Julianischer journée
Es gäbe ne...aucune l'an-2000-Problem, si alle Programmierer et Computerhersteller qui Julianische Tageszahl
pour cela date verwendet hätten. Stattdessen wurde cela l'an comme Zeichenkette (TTMMJJ) gespeichert et cela
führte en supplément, qui pour 99 cela l'an 00 venez. Grund pour qui zweistellige Speicherung qui Jahreszahl était qui
Zwang zum Speichersparen. aussi ici liegt qui Julianische Tageszahl vorne, vous hätte encore moins grenier
gebraucht.
qui Julianische Tageszahl - ou bien einfacher qui Julianische journée - ist une fortlaufende Zählung qui Tage,
beginnend avec dem journée 0, qui am 1. janvier 4713 v. Chr. (im proleptischen Julianischen le calendrier) um 12 montre
midi begann. conforme à cela beginnt un neuer Julianischer journée De toute façon um 12 montre midi,
quoi ursprünglich pour qui europäische Astronomie den Vorteil besaß, qui alle Beobachtungen einer nuit à einem
einzigen Julianischen journée stattfanden.
qui Julianische Tageszählung läßt sich par Anhängen des depuis 12 montre midi verflossenen Tagesbruchteils léger
trop einer genauen Zeitangabe erweitern. So bezeichnet JD 2451605 den journée, qui am 1. Mars 2000 um 12 montre beginnt,
au cours de JD 2451605.25 den la date um 18 montre desselben Tages bestimmt.
cet Erweiterung wird dans vielen Quellen comme Julianisches date bezeichnet.
Julianische Tage wurden früher dans qui règle (sofern rien d'autre spezifiziert wurde) pour mittlerer Sonnenzeit
gezählt, aujourd'hui pour UT.
qui Weltzeit ou bien Universal Time (UT) wurde 1926 comme Ersatz pour qui Greenwich Mean Time (GMT) eingeführt.
Zur cette Zeit étions plusieurs, zum partie deutlich différent Bedeutungen de GMT im Gebrauch.
UT ist pour meisten praktische Belange gleichzusetzen avec qui mittleren Sonnenzeit bezogen sur den Nullmeridian
de Greenwich.
Alternativ wurden Angaben aussi dans Ephemeridenzeit gemacht, quoi par qui Bezeichnung JED ou bien JDE
gekennzeichnet wurde. aussi Aujourd'hui, c'est gelegentlich sinnvoll, Julianische Tage dans einer anderen comme qui UT-Skala
anzugeben. qui verwendete Zeitskala ist ensuite à qui Zeitangabe anzuhängen, z.B. comme JD 2 451 545.0 TDT pour
den 1.janvier 2000, 12 montre midi pour TDT-Zeit.
Häufig trouver sich aussi Zeitangaben dans einem Modifizierten Julianischen Datumsformat (MJD).
qui gebräuchlichste définition eines MJD folgt aus MJD = JD - 2400000.5 qui Nullpunkt liegt daher
beim 17. novembre 1858 um 0 montre (!) Weltzeit.
autre Definitionen existieren allerdings aussi, si bien que chez qui Verwendung de données dans MJD attention geboten ist.
Aus diesem Grunde wird MJD aussi de qui Internationalen Astronomischen Union pas anerkannt.
qui signification qui Julianischen Tagesangabe dans qui heutigen Astronomie liegt zum une dans qui Possibilité einer
kompakten, eindeutigen Zeitangabe, zum anderen dans qui einfachen Angabe et Berechnung de Zeitdifferenzen,
Perioden usw.
qui Julianische Tageszählung wurde 1581 de dem französischen Gelehrten Joseph Justus Scaliger
(dans seinem Werk Opus novum de emendatione temporum) eingeführt, um une eindeutige Zeitzählung sans negative
Jahreszahlen trop conservé. en supplément mußte qui Anfang qui Zeitzählung genügend large dans qui Vergangenheit dans
vorhistorischen Zeiten liegen. Scaliger konstruierte zunächst une 7980 Jahre währende Julianische période,
indem il folgende Zyklen kombinierte:
den 28jährigen Sonnenzyklus, dans dem sich (im Julianischen le calendrier) qui Kalenderdaten sur denselben
Wochentagen wiederholen (im Gregorianischen le calendrier wäre cette Zyklus 400 Jahre long);
den 19jährigen Metonischen Zyklus, dans dem sich qui Mondphasen et Finsternisse à nahezu denselben
Kalenderdaten wiederholen; et
den 15jährigen Indiktionszyklus, qui im Römischen riche zur Steuererhebung et Volkszählung verwendet wurde
et, beginnend avec dem 25.décembre 312 n.Chr, zur fortlaufenden Datierung jusqu'à dans qui heutige Zeit diente.
cela dernier l'an, dans dem alle trois Zyklen gemeinsam une neuen Durchlauf begannen, était 4713 v. Chr.
Den 1. janvier cet Jahres legte Scaliger comme Beginn seiner Zeitrechnung fest. Pour qui meisten les gens
qui damaligen Epoche était cet date allerdings fiktiv, là pour ihrem croyons qui monde seulement wesentlich später
erschaffen wurde. Scaliger selbst datierte qui Erschaffung qui Erde sur cela l'an 3267 v.Chr.
qui Algorithmus stellt sich ensuite folgendermaßen dar:
Y = l'an, M = mois (janvier = 1, février = 2, etc.),
D = journée (eventuell avec Tagesbruchteilen)
Ist M > 2 lasse Y et M inchangé.
Ist M = 1 ou bien M = 2 ensuite ist
Y = Y - 1
M = M + 13
Im Gregorianischen le calendrier rechnet on plus:
A = INT (Y/100)
B = 2 - A + INT (A/4)
Im Julianischen le calendrier ist B = 0!
cela gesuchte JD ist ensuite:
JD = INT (365.25 * (Y + 4716))
+ INT (30.6001 * (M + 1)) + D
+ B - 1524.5
cela Programme zum Berechnen des Julianischen Datums stellt sich ensuite folgendermaßen dar.
tenir compte de vous, qui à cause de qui Besonderheit des Julianischen Datums qui journée pas comme Integer,
mais comme Gleitpunktzahl dargestellt wird.
Im Programme ist encore un zweites Unterprogramm enthalten, cela den JD wieder dans unser gewohntes Datumsformat,
cela Gregorianische date, umrechnet:
KompilierenMarqueSéparation#include <stdio.h>
#include <stdlib.h>
struct datum
{
double tag;
int monat;
int jahr;
};
double julian_day(double day, int month, int year);
struct datum gregorian_date(double jday);
int main(void)
{
int tag, monat, jahr;
double jd;
struct datum dat;
printf(Tag, Monat und Jahr eingeben: );
scanf(%d %d %d,&tag, &monat, &jahr);
jd = julian_day(1.0*tag, monat, jahr);
printf(
Julianischer Tag fuer den %d.%d.%d = %1.2f
,
tag, monat, jahr, jd);
dat = gregorian_date(jd);
printf(
Zurueckgerechnet: %1.0f.%d.%d
, dat.tag, dat.monat, dat.jahr);
return 0;
}
/* Julianischer Tag (>=1):
* Gegeben: tag, monat, jahr
*
* Die gregorianische Kalenderreform wird beruecksichtigt (der Tag, der
* auf den 4. Oktober 1582 folgt ist der 15. October 1582
* Tage nach dem 15. Oktober 1582 werden als Gregorianischer Kalender
* bezeichnet. Der Julianische Tag beginnt um 12 Uhr GMT (Mittag).
* Um beliebige Uhrzeiten beruecksichtigen zu koennen, werden die Tage
* nicht als Integer- sondern als Gleitpunktzahlen angegeben.
*/
double julian_day(double day, int month, int year)
{
int atmp, btmp, monthp, yearp;
double ctmp;
if (month > 2)
{
monthp = month + 1;
yearp = year;
}
else
{
monthp = month + 13;
yearp = year - 1;
}
if ((year > 1582) || (year == 1582 && month >= 10)
|| (year == 1582 && month ==10 && day >= 15))
{
atmp = year / 100;
btmp = 2 - atmp + (atmp / 4);
}
else
btmp = 0;
atmp = 365.25 * yearp;
ctmp = atmp;
atmp = 30.6001 * monthp;
ctmp = ctmp + atmp;
return (ctmp + day + 1720994.5 + btmp);
}
/* gregorian_date: Umrechnung Julianischer Tag
in (Tag, Monat, Jahr) */
struct datum gregorian_date(double jday)
{
int atmp, btmp, ctmp, dtmp, etmp, gtmp, ztmp;
double ftmp;
struct datum dd;
ztmp = jday + 0.5;
ftmp = (jday + 0.5) - ztmp;
if (ztmp >= 2299161)
{
gtmp = (ztmp - 1867216.25) / 36524.25;
ctmp = gtmp / 4;
atmp = ztmp + 1 + gtmp - ctmp;
}
else
atmp = ztmp;
btmp = atmp + 1524;
ctmp = (btmp - 122.1) / 365.25;
dtmp = 365.25 * ctmp;
etmp = ((btmp - dtmp) / 30.6001);
ztmp = 30.6001 * etmp;
dd.tag = btmp - dtmp - ztmp + ftmp;
if (etmp > 13.5)
dd.monat = etmp - 13;
else
dd.monat = etmp - 1;
if (dd.monat > 2.5)
dd.jahr = ctmp - 4716;
else
dd.jahr = ctmp - 4715;
return(class=s4 href='./../../funktionsreferenzen/XProfan/dd/'>dd);
}