Class JulianDate

java.lang.Object
org.episteme.natural.physics.astronomy.time.JulianDate

public class JulianDate extends Object
Julian Date (JD) representation and conversions. Julian Date is a continuous count of days since the beginning of the Julian Period (January 1, 4713 BC, Julian calendar).
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Field Details

    • J2000

      public static final double J2000
      Julian Date for J2000.0 epoch (2000-01-01 12:00:00 TT)
      See Also:
    • B1950

      public static final double B1950
      Julian Date for B1950.0 epoch
      See Also:
    • DAYS_PER_CENTURY

      public static final double DAYS_PER_CENTURY
      Days per Julian century
      See Also:
  • Constructor Details

    • JulianDate

      public JulianDate(double julianDate)
  • Method Details

    • fromGregorian

      public static JulianDate fromGregorian(int year, int month, double day)
      Creates a JulianDate from a Gregorian calendar date and time (UTC).
      Parameters:
      year - Year (e.g., 2024)
      month - Month (1-12)
      day - Day of month (1-31, can include fractional days)
      Returns:
      JulianDate for the specified date/time
    • fromLocalDateTime

      public static JulianDate fromLocalDateTime(LocalDateTime dateTime)
      Creates a JulianDate from Java LocalDateTime (assumes UTC).
    • toGregorian

      public double[] toGregorian()
      Converts back to Gregorian calendar.
      Returns:
      Array [year, month, day] where day may be fractional
    • getJulianCenturies

      public double getJulianCenturies()
      Returns Julian centuries since J2000.0. T = (JD - 2451545.0) / 36525
    • getModifiedJulianDate

      public double getModifiedJulianDate()
      Returns Modified Julian Date (MJD = JD - 2400000.5). MJD starts at midnight, making it more convenient for modern use.
    • addDays

      public JulianDate addDays(double days)
      Adds days to this Julian Date.
    • getDayOfWeek

      public int getDayOfWeek()
      Returns the day of week (0 = Monday, 6 = Sunday).
    • getValue

      public double getValue()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • now

      public static JulianDate now()
      Returns current Julian Date.