Julian Day

  • Ich glaube, ich stehe gerade mal wieder auf dem Schlauch. Ich brauche für einige Berechnungen den Julian Day als float.


    In C++ gibt es sogar eine eigene Funktion, GetJulianDay. Aber in BP ist davon nichts zu finden. Wenn ich danach google bekomme ich immer nur die C++-API-Dokumentation zu sehen.


    Aber für so eine kleine Funktion will ich jetzt nicht unbedingt eine neue C++-Klasse anlegen. Das muss doch auch im BP gehen.


    Oder bin ich da jetzt aus irgendeinem Grund auf dem Holzweg und denke irgendwie falsch?

  • Oder, ich frage einfach mal andersrum.


    Das hier ist das Original von GetJulianDay

    Code
    double GetJulianDay() const
        {
            return 1721425.5 + double(Ticks / ETimespan::TicksPerDay) + GetTimeOfDay().GetTotalDays();
        }

    Was ich dabei nicht so ganz verstehe ist, was haben in der Berechnung die Ticks zu suchen? Eigentlich ist die Anzahl der Julianischen Tage doch eine konstante Anzahl von Tagen zwischen zwei Datumswerten.


    So ganz erschließt sich mir das also nicht. Die 1721425.5 ist klar. Die stellt das Datum 1.1.4713:12:00 B.C. dar. Aber warum sollte man dann die Ticks addieren?

  • Ticks bezieht sich hier nicht auf event tick sondern auf timespan tick - also 0.1 microsekunden. Timespan ticks können sowohl positiv als auch negativ sein. Du willst ja nicht den Nullpunkt haben von daher die Addition der seit dem vergangenen ticks.