final boolean hasNoMajorSolarTerm ( long utcDays ) { double jd0 = JulianDay . ofEphemerisTime ( this . midnight ( utcDays ) ) . getValue ( ) ; int index0 = ( 2 + ( int ) Math . floor ( SolarTerm . solarLongitude ( jd0 ) / 30 ) ) % 12 ; double jd1 = JulianDay . ofEphemerisTime ( this . midnight ( this . newMoonOnOrAfter ( utcDays + 1 ) ) ) . getValue ( ) ; int index1 = ( 2 + ( int ) Math . floor ( SolarTerm . solarLongitude ( jd1 ) / 30 ) ) % 12 ; return ( index0 == index1 ) ; }
leap months have no major solar terms