示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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));
        }