lunar2Solar function

SolarDate lunar2Solar(
  1. String dateStr,
  2. bool isLeapMonth
)

Implementation

SolarDate lunar2Solar(String dateStr, bool isLeapMonth) {
  var dates = normalDateFromStr(dateStr);
  final year = dates[0];
  final month = dates[1];
  final day = dates[2];
  var lunar = Lunar.fromYmd(year, month, day);
  var lunarYear = LunarYear.fromYear(lunar.getYear());
  var leapMonth = lunarYear.getLeapMonth();
  if (leapMonth > 0 && leapMonth == month && isLeapMonth) {
    lunar = Lunar.fromYmd(year, 0 - month, day);
  }

  var solar = lunar.getSolar();
  var solarYear = solar.getYear();
  var solarMonth = solar.getMonth();
  var solarDay = solar.getDay();
  return SolarDate(
    solarYear: solarYear,
    solarMonth: solarMonth,
    solarDay: solarDay,
  );
}