public static int GetDayCelestialStemIndex(int solarYear, int solarMonth, int solarDay) { var julianDateNumber = JulianDateConverter.UniversalDateToJulianDayNumber(solarYear, solarMonth, solarDay); return((julianDateNumber + 9) % 10); }
public static int GetDayTerrestrialIndex(int solarYear, int solarMonth, int solarDay) { var julianDateNumber = JulianDateConverter.UniversalDateToJulianDayNumber(solarYear, solarMonth, solarDay); return((julianDateNumber + 1) % 12); }
public void UniversalDateToJulianDayNumberTest() { Assert.AreEqual(0, JulianDateConverter.UniversalDateToJulianDayNumber(-4712, 1, 1), 0.0000001); DateTime date = new DateTime(2000, 1, 1); Assert.AreEqual(2451545, date.UniversalDateToJulianDayNumber(), 0.0000001, String.Format("Input date: {0}", date)); Assert.AreEqual(2299160, JulianDateConverter.UniversalDateToJulianDayNumber(1582, 10, 4), 0.0000001); Assert.AreEqual(2299161, JulianDateConverter.UniversalDateToJulianDayNumber(1582, 10, 15), 0.0000001); }