daysSinceSolstice static method
Implementation
static int daysSinceSolstice(int dayOfYear, int year, double latitude) {
int daysSinceSolistice;
final northernOffset = 10;
final isLeapYear = CalendarUtil.isLeapYear(year);
final southernOffset = isLeapYear ? 173 : 172;
final daysInYear = isLeapYear ? 366 : 365;
if (latitude >= 0) {
daysSinceSolistice = dayOfYear + northernOffset;
if (daysSinceSolistice >= daysInYear) {
daysSinceSolistice = daysSinceSolistice - daysInYear;
}
} else {
daysSinceSolistice = dayOfYear - southernOffset;
if (daysSinceSolistice < 0) {
daysSinceSolistice = daysSinceSolistice + daysInYear;
}
}
return daysSinceSolistice;
}