julianDay function

double julianDay(
  1. int year,
  2. int month,
  3. int day, {
  4. int hour = 0,
  5. int minute = 0,
  6. double second = 0,
  7. Calendar? calendar,
})

Julian day for the date year-month-day and time in calendar.

When calendar is omitted, dates from 15 October 1582 on are Gregorian and earlier ones Julian; 5–14 October 1582 then do not exist. Throws ArgumentError for a date that does not exist.

Implementation

double julianDay(
  int year,
  int month,
  int day, {
  int hour = 0,
  int minute = 0,
  double second = 0,
  Calendar? calendar,
}) {
  final cal = calendar ?? _defaultCalendar(year, month, day);
  _checkDate(year, month, day, cal);
  if (hour < 0 || hour > 23 || minute < 0 || minute > 59) {
    throw ArgumentError('Invalid time $hour:$minute');
  }
  if (second < 0 || second >= 60) {
    throw ArgumentError('Invalid seconds $second');
  }
  // Dzień juliański zaczyna się w południe, stąd −0,5.
  return _dayNumber(year, month, day, cal) -
      0.5 +
      (hour * 3600 + minute * 60 + second) / 86400;
}