private void SetUpLunnar() { #region Set Up Năm Âm ComboBoxLunnarYear.Items.AddRange(Enumerable.Range(1, 9998).Select(i => (object)i).ToArray()); LuniSolarYear <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .GetLunarYear(DateTime.Now.Year); ComboBoxLunnarYear.Text = lunarDate.Year.ToString(); int year = lunarDate.Year; #endregion //Set up Tháng SetUpLunnarMonth(year); //Set up Ngày string sMonth = ComboBoxLunnarMonth.Text; SetUpLunnarDay(sMonth, year); }
private void SetUpLunnarDay(string sMonth, int year) { ComboBoxLunnarDay.Items.Clear(); bool leap = false; int month = 0; year = Convert.ToInt32(ComboBoxLunnarYear.Text); LuniSolarYear <VietnameseLocalInfoProvider> lunarYear = LuniSolarCalendar <VietnameseLocalInfoProvider> .GetLunarYear(year); int leapMonth = lunarYear.LeapMonthIndex - 2; //Tìm tháng (dưới dạng number) dựa trên tháng (dưới dạng string) switch (sMonth) { case "Tháng Giêng": month = 1; break; case "Tháng Hai": case "Tháng Hai nhuận": month = 2; break; case "Tháng Ba": case "Tháng Ba nhuận": month = 3; break; case "Tháng Tư": case "Tháng Tư nhuận": month = 4; break; case "Tháng Năm": case "Tháng Năm nhuận": month = 5; break; case "Tháng Sáu": case "Tháng Sáu nhuận": month = 6; break; case "Tháng Bảy": case "Tháng Bảy nhuận": month = 7; break; case "Tháng Tám": case "Tháng Tám nhuận": month = 8; break; case "Tháng Chín": case "Tháng Chín nhuận": month = 9; break; case "Tháng Mười": case "Tháng Mười nhuận": month = 10; break; case "Tháng Mười Một": month = 11; break; case "Tháng Chạp": month = 12; break; default: break; } //Kiểm tra tháng đó có phải tháng nhuận không if (leapMonth == month) { leap = true; } if (month == 12) { month = 1; year = year + 1; } else { if (leap == false) { month = month + 1; } } //Tìm ngày đầu tiên của tháng tiếp theo để tìm ngày cuối cùng của tháng này LuniSolarDate <VietnameseLocalInfoProvider> lunarDate1 = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromLunarInfo(year, leap == true?month + 1 : month, leap == true?false : true, 1); DateTime date = lunarDate1.SolarDate; LuniSolarDate <VietnameseLocalInfoProvider> lunarDate2 = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date.AddDays(-1)); int day = lunarDate2.Day; ComboBoxLunnarDay.Items.AddRange(Enumerable.Range(1, day).Select(i => (object)i).ToArray()); month = DateTime.Now.Month; day = DateTime.Now.Day; DateTime dateSolar = new DateTime(year, month, day); LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(dateSolar); ComboBoxLunnarDay.Text = string.Format("{0}", lunarDate.Day); }
private void SetUpLunnarMonth(int year) { ComboBoxLunnarMonth.Items.Clear(); LuniSolarYear <VietnameseLocalInfoProvider> lunarYear = LuniSolarCalendar <VietnameseLocalInfoProvider> .GetLunarYear(year); int month = DateTime.Now.Month; int day = DateTime.Now.Day; DateTime date = new DateTime(year, month, day); LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); //Kiểm tra năm đó có phải năm nhuận không if (lunarYear.IsLeapYear == false) { ComboBoxLunnarMonth.Items.AddRange(new object[] { "Tháng Giêng", "Tháng Hai", "Tháng Ba", "Tháng Tư", "Tháng Năm", "Tháng Sáu", "Tháng Bảy", "Tháng Tám", "Tháng Chín", "Tháng Mười", "Tháng Mười Một", "Tháng Chạp" }); } else { ComboBoxLunnarMonth.Items.Add("Tháng Giêng"); ComboBoxLunnarMonth.Items.Add("Tháng Hai"); if (lunarYear.LeapMonthIndex - 2 == 2) { ComboBoxLunnarMonth.Items.Add("Tháng Hai nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Ba"); if (lunarYear.LeapMonthIndex - 2 == 3) { ComboBoxLunnarMonth.Items.Add("Tháng Ba nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Tư"); if (lunarYear.LeapMonthIndex - 2 == 4) { ComboBoxLunnarMonth.Items.Add("Tháng Tư nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Năm"); if (lunarYear.LeapMonthIndex - 2 == 5) { ComboBoxLunnarMonth.Items.Add("Tháng Năm nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Sáu"); if (lunarYear.LeapMonthIndex - 2 == 6) { ComboBoxLunnarMonth.Items.Add("Tháng Sáu nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Bảy"); if (lunarYear.LeapMonthIndex - 2 == 7) { ComboBoxLunnarMonth.Items.Add("Tháng Bảy nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Tám"); if (lunarYear.LeapMonthIndex - 2 == 8) { ComboBoxLunnarMonth.Items.Add("Tháng Tám nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Chín"); if (lunarYear.LeapMonthIndex - 2 == 9) { ComboBoxLunnarMonth.Items.Add("Tháng Chín nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Mười"); if (lunarYear.LeapMonthIndex - 2 == 10) { ComboBoxLunnarMonth.Items.Add("Tháng Mười nhuận"); } ComboBoxLunnarMonth.Items.Add("Tháng Mười Một"); ComboBoxLunnarMonth.Items.Add("Tháng Chạp"); } int monthLunnar = lunarDate.Month; ComboBoxLunnarMonth.Text = string.Format("Tháng {0}{1}", monthLunnar == 11 ? "Mười " : "", LuniSolarDate <VietnameseLocalInfoProvider> .GetMonthShortName(lunarDate.Month, lunarDate.IsLeapMonth)); }