J2000 och UNIX-time?
Postat: 7 januari 2026, 13:47:33
Har ett program där det krävs omvandling mellan UNIX-time och J2000. Det görs två astroomiska beräkningar. Den ena på månens upp-/nergång och den stämmer fint med expertberäknade tider. Den andra räknar på solens tider och där är avvikelse när jag använder samma omvandling som för månen. Används däremot en magisk harrang som vill ha upphackad tid som indata så stämmer den perfekt. Skillnaden mellan de två J2000 är två dygn.
Enligt uppgifter på nätet är offset -10957.5 dygn. Denna är vad månberäkningen använder och måste vara rätt. Annars hade måntiderna blivit totalt blaj. Harrangen i originalet av solprogrammet genererar J2000 som om ofset var -10955.5 dygn.
Här är harrangen. 0.5 skall adderas för J2000.
#define days_since_2000_Jan_0(y,m,d) \
(367L*(y)-((7*((y)+(((m)+9)/12)))/4)+((275*(m))/9)+(d)-730530L)
Gör denna harrang fel och i så fall, varför vill solprogrammet ha ett förmodat trasigt värde på tiden? Kan det vara en gammal algoritm som kompenseras för någon typ av irregularitet med skottdagar e.dyl.? Skulle vilja reda ut avvikelsen innan jag accepterar att det bara är så.
Coden kommer härifrån:
http://www.stjarnhimlen.se/comp/sunriset.c
Enligt uppgifter på nätet är offset -10957.5 dygn. Denna är vad månberäkningen använder och måste vara rätt. Annars hade måntiderna blivit totalt blaj. Harrangen i originalet av solprogrammet genererar J2000 som om ofset var -10955.5 dygn.
Här är harrangen. 0.5 skall adderas för J2000.
#define days_since_2000_Jan_0(y,m,d) \
(367L*(y)-((7*((y)+(((m)+9)/12)))/4)+((275*(m))/9)+(d)-730530L)
Gör denna harrang fel och i så fall, varför vill solprogrammet ha ett förmodat trasigt värde på tiden? Kan det vara en gammal algoritm som kompenseras för någon typ av irregularitet med skottdagar e.dyl.? Skulle vilja reda ut avvikelsen innan jag accepterar att det bara är så.
Coden kommer härifrån:
http://www.stjarnhimlen.se/comp/sunriset.c