[PB4.0] Errechnung des Julianischen Tages nach Greg. Datum
Verfasst: 28.02.2006 19:56
Alle Berechnungen habe ich der Wikipedia entnommen.
Code: Alles auswählen
Procedure.d jultag(y.l, m.l, d.l, h.l, i.l, s.l)
Protected N400.l, N100.l, N4.l, N1.l, JD.d, MK.l, SK.l, LT.l
Select m
Case 1, 4, 5 : MK = -1
Case 2, 6, 7 : MK = 0
Case 3 : MK = -2
Case 8 : MK = 1
Case 9, 10 : MK = 2
Case 11 : MK = 3
EndSelect
SK = 0
If m > 2
If y % 400 = 0
SK = 1
ElseIf y % 4 = 0 And y % 100
SK = 1
EndIf
EndIf
LT = d + 30 * (m - 1) + SK + MK
y - 1
N400 = y / 400
N100 = (y % 400) / 100
N4 = (y % 100) / 4
N1 = y % 4
JD = 1721426 + N400 * 146097 + N100 * 36524 + N4 * 1461 + N1 * 365 + LT
JD + (h / 24) - 0.5 + (i / 1440) + (s / 86400)
ProcedureReturn JD
EndProcedure
Debug jultag(1990, 1, 1, 12, 0, 0)
Debug jultag(1990, 1, 1, 18, 0, 0)
Debug jultag(2006, 1, 14, 12, 0, 0)
Debug jultag(2000, 1, 1, 12, 0, 0)
d.l = Date()
Debug jultag(Year(d), Month(d), Day(d), Hour(d), Minute(d), Second(d))