Julian.fromFullDate constructor

Julian.fromFullDate(
  1. int year,
  2. int mon,
  3. int day,
  4. int hour,
  5. int min, {
  6. double sec = 0.0,
})

Create a Julian date object from a year , mon , day, hour and min.

Implementation

Julian.fromFullDate(
    int year, // i.e., 2004
    int mon, // 1..12
    int day, // 1..31
    int hour, // 0..23
    int min, // 0..59
    {double sec = 0.0}) {
  late int n;
  int f1 = ((275.0 * mon) / 9.0).round();
  int f2 = ((mon + 9.0) / 12.0).round();

  if (isLeapYear(year)) {
    // Leap year
    n = f1 - f2 + day - 30;
  } else {
    // Common year
    n = f1 - (2 * f2) + day - 30;
  }

  double dblDay = n + (hour + (min + (sec / 60.0)) / 60.0) / 24.0;

  initialize(year, dblDay);
}