NEWS
Problem mit getAstroDate - Fehler in suncalc?
-
Ich habe gerade ein Problem bei der Berechnung der Astro-Zeitpunkte festgestellt.
IMHO wird die Referenzzeit, die übergeben wird als UTC behandelt und nicht als lokale Zeit.
Entsprechend wird bei einer Referenzzeit vor (zur Zeit) 1:00h der Astrozeitpunkt (hier: dawn, also Beginn der bürgerlichen Dämmerung) für den Vortag berechnet.
Kurzes Testprogramm:
var now = new Date ("2017-11-25 00:05"); var utctest = new Date ("2017-11-25 01:00"); var today = new Date ("2017-11-25 12:00"); var dawn1 = getAstroDate("dawn",now); var dawnutc = getAstroDate ("dawn",utctest); var dawn2 = getAstroDate("dawn",today); log(formatDate(dawn1,"DD.MM hh:mm")); log(formatDate(dawnutc,"DD.MM hh:mm")); log(formatDate(dawn2,"DD.MM hh:mm"));Ich berechne also den Beginn der bürgerlichen Dämmerung am 25.11. mit den Referenzzeiten 00:05, 01:00 und 12:00.
Erwarten würde ich bei allen dreien das gleiche Ergebnis. Das ist aber nicht so.
09:17:48.991 [info] javascript.0 script.js.Steuerung.testzeugs: 24.11 06:59 09:17:48.991 [info] javascript.0 script.js.Steuerung.testzeugs: 25.11 07:00 09:17:48.991 [info] javascript.0 script.js.Steuerung.testzeugs: 25.11 07:00Bei der Referenzzeit 00:05 wird also der Zeitpunkt des VORTAGs berechnet.
Nun möchte ich aber um 00:05 den Offset bis zur bürgerlichen Dämmerung berechnen (der dann negativ wird :().
Ich hab dann probiert, das mit dem "suncalc" Modul direkt zu machen (require("suncalc") etc…) - gleicher Effekt, also liegt da wohl der Hund begraben.
===
Ergänzung:
Beim suncalc modul ist auf github dazu auch ein Issue erfasst:
https://github.com/mourner/suncalc/issues/107
===
Workaround:
var now = new Date ("2017-11-25 00:05"); var reftime = new Date(now); reftime.setHours(12,0,0,0); var dawn1 = getAstroDate("dawn",now); var dawn2 = getAstroDate ("dawn",reftime); log(formatDate(dawn1,"DD.MM hh:mm")); log(formatDate(dawn2,"DD.MM hh:mm"));also Zeit kopieren und "gnadenlos" auf Mittag stellen …
Vielleicht sparts mal jemand die Fehlersuche :)
CU
Werner
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden