julianDay function
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;
}