/// <summary> /// Returns special day info of a luni-solar date. /// Returns null if there is nothing special. /// </summary> /// <param name="luniSolarDate"></param> /// <returns></returns> public static bool GetSpecialDateInfo(this LuniSolarDate <VietnameseLocalInfoProvider> luniSolarDate, out SpecialDateInfo specialDateInfo) { SpecialDateInfo spInfo = null; var key = GetSolarKey(luniSolarDate); if (SpecialSolarDays.ContainsKey(key)) { spInfo = (SpecialDateInfo)SpecialSolarDays[key].Clone(); } key = GetLunarKey(luniSolarDate); if (SpecialLunarDays.ContainsKey(key)) { if (spInfo == null) { spInfo = (SpecialDateInfo)SpecialLunarDays[key].Clone(); } else { spInfo.Label += "/" + SpecialLunarDays[key].Label; spInfo.Decorator += SpecialLunarDays[key].Decorator; } } specialDateInfo = spInfo; if (spInfo == null) { return(false); } else { return(true); } }
//Hiển thị ngày âm, tháng âm và giờ hoàng đạo private void DisplayLunnarDate(DateTime date) { #region Chú thích LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); LunnarSample.LunnarCalendar lunnar = new LunnarSample.LunnarCalendar(); #endregion #region Lấy thông tin ngày âm labelLunnarDay.Text = lunnardate.Day.ToString(); labelLunnarDay.ForeColor = ColorLunnar; labelLunnarDay.Location = new Point((PanelLunnarDay.Size.Width / 2) - (labelLunnarDay.Size.Width / 2), 32); #endregion #region Lấy thông tin ngày hoàng đạo if (lunnar.IsZodiacDay(date, lunnardate.Month) == 1) { PictureZodiac.IconChar = FontAwesome.Sharp.IconChar.YinYang; PictureZodiac.IconColor = Color.Yellow; } else if (lunnar.IsZodiacDay(date, lunnardate.Month) == -1) { PictureZodiac.IconChar = FontAwesome.Sharp.IconChar.YinYang; PictureZodiac.IconColor = Color.Black; } else { PictureZodiac.IconChar = FontAwesome.Sharp.IconChar.None; } #endregion #region Lấy thông tin tháng âm ButtonLunnarMonth.Text = string.Format("Tháng {0}", lunnardate.Month); #endregion }
public static UserControl CreateSolarTermBar(int year, double timeZone, FontFamily fontFamily) { UserControl uc = new UserControl(); Grid grid = new Grid(); grid.SnapsToDevicePixels = true; DateTime dateTime = new DateTime(year, 1, 1); var todaySolarTermIdx = LuniSolarDate <VietnameseLocalInfoProvider> .GetSolarTermIndex(DateTime.Today); for (int i = 0; i < 24; i++) { var idx = (24 + i - 5) % 24; dateTime = Sun.GetDateTimeOfSolarTerm(idx, year).AddHours(timeZone); grid.ColumnDefinitions.Add(new ColumnDefinition()); var rec = CreateRectangle(idx, dateTime, "", fontFamily); if (DateTime.Today.Year == year && todaySolarTermIdx == idx) { rec.Name = CURRENT_TERM_LABEL; } Grid.SetColumn(rec, i); grid.Children.Add(rec); } uc.Content = grid; return(uc); }
public static ToolTip CreateToolTip(string header, LuniSolarDate <VietnameseLocalInfoProvider> date, string decorator, bool isSymbolicDecorator, double hueValue = -1, bool overideContentForeground = false, int maxWidth = 400, int padding = 3) { Grid contentGrid = new Grid(); contentGrid.ColumnDefinitions.Add(new ColumnDefinition()); contentGrid.ColumnDefinitions.Add(new ColumnDefinition()); string[] columnContent = { string.Format(new System.Globalization.CultureInfo(_cultureInfoTag), "{0:d} ({0:dddd})", date.SolarDate), string.Format("Ngày {0} tháng {1} năm {2}", date.Day, date.MonthShortName,date.Year), date.YearName, date.MonthLongName, date.DayName, date.SolarTerm }; for (int i = 0; i < _columnHeader.Length; i++) { contentGrid.RowDefinitions.Add(new RowDefinition()); TextBlock headerCell = new TextBlock { HorizontalAlignment = HorizontalAlignment.Right, Text = _columnHeader[i], }; TextBlock contentCell = new TextBlock { HorizontalAlignment = HorizontalAlignment.Stretch, TextAlignment = TextAlignment.Left, TextWrapping = TextWrapping.Wrap, Text = columnContent[i], FontWeight = FontWeights.SemiBold, }; Grid.SetRow(headerCell, i); Grid.SetRow(contentCell, i); Grid.SetColumn(headerCell, 0); Grid.SetColumn(contentCell, 1); contentGrid.Children.Add(headerCell); contentGrid.Children.Add(contentCell); } ContentControl cc = new ContentControl { Content = contentGrid }; return(ToolTipWithHeader.CreateToolTip(header, null, cc, decorator, isSymbolicDecorator, hueValue, overideContentForeground, maxWidth, padding)); }
//Hiển thị tên của ngày, tháng, năm private void DisplayLunnarNameDate(DateTime date) { #region Chú thích LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); LunnarSample.LunnarCalendar lunnar = new LunnarSample.LunnarCalendar(); #endregion #region Hiển thị thông tin labelLunnarDayName.Text = string.Format("Ngày {0}", lunnardate.DayName); labelLunnarMonthName.Text = string.Format("Tháng {0}", lunnardate.MonthLongName); labelLunnarYearName.Text = string.Format("Năm {0}", lunnardate.YearName); #endregion }
private static int Test(DateTime startDate, DateTime endDate, int daySteps, string logFilepath) { int totalDays = (int)(endDate - startDate).TotalDays; DateTime date = startDate; int errors = 0; Trace.WriteLine( String.Format("Begin testing Lunar/Solar date converters..." + "\r\n Start date = {0:dd/MM/yyyy}" + "\r\n End date = {1:dd/MM/yyyy}" + "\r\n Step = {2} day(s)" + "\r\n Test log : \"{3}\"" + "\r\n----------------------------------------", startDate, endDate, daySteps, logFilepath.ToString())); DateTime testBegin = DateTime.Now; while (date <= endDate) { try { LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); DateTime solarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromLunarInfo(lunarDate.Year, lunarDate.Month, lunarDate.IsLeapMonth, lunarDate.Day).SolarDate; Trace.WriteLine(string.Format("{0:dd/MM/yyyy} = {1}", date, lunarDate.FullDayInfo)); if ((date != solarDate)) { Trace.WriteLine(String.Format(" ---> incorrectly converted back to {0:dd/MM/yyyy}", solarDate)); errors++; } } catch (Exception ex) { Trace.WriteLine(String.Format("{0:dd/MM/yyyy} ---> unhandled exception occured: {1}", date, ex.Message)); errors++; } date = date.AddDays(1); } var testDuration = DateTime.Now - testBegin; Trace.WriteLine("----------------------------------------"); Trace.WriteLine(String.Format("Completed testing {0} days in {1}. {2} error(s) found ({3} %).", totalDays, testDuration.ToString(), errors, (int)(errors * 10000f / totalDays) / 100f)); Trace.WriteLine(""); return(errors); }
private DateTime GetDateTimeLN() { int month = 0; string s = ComboBoxLunnarMonth.Text; switch (s) { 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; } bool leap = false; string leapstring = ComboBoxLunnarMonth.Text.Substring(ComboBoxLunnarMonth.Text.LastIndexOf(" ")).Trim(); if (leapstring == "nhuận") { leap = true; } LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromLunarInfo(Convert.ToInt32(ComboBoxLunnarYear.Text), month, leap, Convert.ToInt32(ComboBoxLunnarDay.Text)); if (lunarDate.SolarDate.Year < DateTimePicker.MinimumDateTime.Year) { return(new DateTime(DateTimePicker.MinimumDateTime.Year, lunarDate.SolarDate.Month, lunarDate.SolarDate.Day)); } else if (lunarDate.SolarDate.Year > DateTimePicker.MaximumDateTime.Year) { return(new DateTime(DateTimePicker.MaximumDateTime.Year, lunarDate.SolarDate.Month, lunarDate.SolarDate.Day)); } else { return(lunarDate.SolarDate); } }
private void ButtonFind2_Click(object sender, EventArgs e) { PanelDetailSolar.Visible = true; int month = 0; string s = ComboBoxLunnarMonth.Text; switch (s) { 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; } bool leap = false; string leapstring = ComboBoxLunnarMonth.Text.Substring(ComboBoxLunnarMonth.Text.LastIndexOf(" ")).Trim(); if (leapstring == "nhuận") { leap = true; } LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromLunarInfo(Convert.ToInt32(ComboBoxLunnarYear.Text), month, leap, Convert.ToInt32(ComboBoxLunnarDay.Text)); string MonthName = string.Format("Tháng {0}{1}", month == 11 ? "Mười " : "", LuniSolarDate <VietnameseLocalInfoProvider> .GetMonthShortName(lunarDate.Month, lunarDate.IsLeapMonth)); labelLunnarDayChange.Text = string.Format("NGÀY {0}, {1}, NĂM {2}", lunarDate.Day, MonthName.ToUpper(), lunarDate.Year); labelSolarDay.Text = string.Format("NGÀY {0}/{1}/{2}", lunarDate.SolarDate.Day, lunarDate.SolarDate.Month, lunarDate.SolarDate.Year); }
private void ButtonFind1_Click(object sender, EventArgs e) { int year = Convert.ToInt32(ComboBoxSolarYear.Text); int month = 0; string s = ComboBoxSolarMonth.Text; switch (s) { case "Tháng Một": month = 1; break; case "Tháng Hai": month = 2; break; case "Tháng Ba": month = 3; break; case "Tháng Tư": month = 4; break; case "Tháng Năm": month = 5; break; case "Tháng Sáu": month = 6; break; case "Tháng Bảy": month = 7; break; case "Tháng Tám": month = 8; break; case "Tháng Chín": month = 9; break; case "Tháng Mười": month = 10; break; case "Tháng Mười Một": month = 11; break; case "Tháng Mười Hai": month = 12; break; default: break; } int day = Convert.ToInt32(ComboBoxSolarDay.Text); DateTime date = new DateTime(year, month, day); LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); LunnarSample.LunnarCalendar lunnarCalendar = new LunnarSample.LunnarCalendar(); PanelDetailLunnar.Visible = true; string sGD = ""; int iZodiac = lunnarCalendar.IsZodiacDay(date, lunarDate.Month); if (iZodiac == 1) { sGD = " - NGÀY HOÀNG ĐẠO"; } else if (iZodiac == -1) { sGD = " - NGÀY HẮC ĐẠO"; } labelSolarChangeDate.Text = string.Format("NGÀY {0}/{1}/{2}", date.Day, date.Month, date.Year); labelLunnarDay.Text = string.Format("NGÀY {0}/{1}/{2}", lunarDate.Day, lunarDate.Month, lunarDate.Year); labelNameLunnarDay.Text = string.Format("NGÀY {0}{1}", lunarDate.DayName.ToUpper(), sGD); labelNameLunnarMY.Text = string.Format("THÁNG {0} - NĂM {1}", lunarDate.MonthLongName.ToUpper(), lunarDate.YearName.ToUpper()); labelNameSolarTerm.Text = string.Format("TIẾT {0}", lunnarCalendar.SolarTermString(lunarDate.SolarTerm).ToUpper()); labelNameGoodDay.Text = string.Format("TRỰC {0}", lunnarCalendar.GoodDayString(date).ToUpper()); labelStar.Text = string.Format("SAO {0}", LunnarSample.LunnarCalendar.GetStar28(date).ToUpper()); labelNguHanh.Text = string.Format("HÀNH {0}", lunnarCalendar.GetNguHanh(date).ToUpper()); }
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)); }
private void button1_Click(object sender, EventArgs e) { LuniSolarDate <VietnameseLocalInfoProvider> lunarDate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(dateTimePicker1.Value); label1.Text = (string.Format("{0:dd/MM/yyyy} = {1}", dateTimePicker1.Value, lunarDate.FullDayInfo)); }
public void DisplayDate(DateTime date) { LunnarCalendar calendar = new LunnarCalendar(); LuniSolarDate <VietnameseLocalInfoProvider> luni = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); #region Chỉnh sửa panelDisplayDate labelSolarDate.Text = string.Format("{0}, {1}/{2}/{3}", calendar.GetThu(date), date.Day, date.Month, date.Year); labelLunnarDate.Text = string.Format("Ngày {0}/{1}/{2} Tức ngày {3}, tháng {4}, năm {5}", luni.Day, luni.Month, luni.Year, luni.DayName, luni.MonthLongName, luni.YearName); labelDetailDate.Text = string.Format("Hành {0} - Sao {1} - Trực {2} - Ngày {3}", calendar.GetNguHanh(date), calendar.GetSao(date), calendar.GoodDayString(date), calendar.GetNameHoangHacDao(date)); labelTietKhi.Text = string.Format("{0}", calendar.SolarTermString(luni.SolarTerm)); #endregion #region Chỉnh sửa PanelZodiacHour string[] words1 = calendar.GetZodiacTime(date).Split(','); labelGood1.Text = words1[0]; labelGood2.Text = words1[1]; labelGood3.Text = words1[2]; labelGood4.Text = words1[3]; labelGood5.Text = words1[4]; labelGood6.Text = words1[5]; string[] word2 = calendar.GetUnZodiacTime(date).Split(','); labelBad1.Text = word2[0]; labelBad2.Text = word2[1]; labelBad3.Text = word2[2]; labelBad4.Text = word2[3]; labelBad5.Text = word2[4]; labelBad6.Text = word2[5]; #endregion #region Chỉnh sửa PanelTruc tbTrucName.Text = string.Format("Trực {0}", calendar.GoodDayString(date)); DataTable dtTruc = calendar.GetDetailTruc(date); foreach (DataRow row in dtTruc.Rows) { tbTrucDo.Text = (string)row["Do"]; tbUnDoTruc.Text = (string)row["Undo"]; tbTrucBonus.Text = (string)row["Bonus"]; } #endregion #region Chính sửa PanelStar DataTable dtTot = calendar.GetGoodStar(date); string sTot = ""; foreach (DataRow row in dtTot.Rows) { sTot += string.Format("{0}\r\n", (string)row["Name"]); } tbSaoTot.Text = sTot; DataTable dtXau = calendar.GetBadStar(date); string sXau = ""; foreach (DataRow row in dtXau.Rows) { sXau += string.Format("{0}\r\n", (string)row["Name"]); } tbSaoXau.Text = sXau; #endregion #region Chính sửa PanelNTBT rtb.Text = calendar.GetDetailStar28(date); HighlightRTB(rtb, 11); #endregion #region Chỉnh sửa PanelHXH labelTaiThan.Text = string.Format("Đi về hướng {0} để nghênh tiếp Tài Thần", calendar.GetTaiThan(date)); labelHyThan.Text = string.Format("Đi về hướng {0} để đón Hỷ Thần", calendar.GetHyThan(date)); string sHacThan = calendar.GetHacThan(date); if (sHacThan == "Vô") { labelHacThan.Visible = false; } else { labelHacThan.Visible = true; labelHacThan.Text = string.Format("Tránh đi về hướng {0} để gặp Hắc Thần", sHacThan); } #endregion #region Chỉnh sửa PanelNXH DataTable dtNXH = calendar.GetNgayXuatHanh(date); string sNXH = ""; foreach (DataRow row in dtNXH.Rows) { string sName = (string)row["Name"]; string sMean = (string)row["Mean"]; sNXH = string.Format("Ngày {0}: {1}", sName, sMean); } tbNXH.Text = sNXH; #endregion #region Chỉnh sửa PanelGXH DataTable dtGXH1 = calendar.GetXuatHanh(date, 1); foreach (DataRow row in dtGXH1.Rows) { string sName = (string)row["Name"]; tbGXHName1.Text = string.Format("{0}", sName.ToUpper()); tbGXHMean1.Text = string.Format("{0}", (string)row["Mean"]); } DataTable dtGXH2 = calendar.GetXuatHanh(date, 2); foreach (DataRow row in dtGXH2.Rows) { string sName = (string)row["Name"]; tbGXHName2.Text = string.Format("{0}", sName.ToUpper()); tbGXHMean2.Text = string.Format("{0}", (string)row["Mean"]); } DataTable dtGXH3 = calendar.GetXuatHanh(date, 3); foreach (DataRow row in dtGXH3.Rows) { string sName = (string)row["Name"]; tbGXHName3.Text = string.Format("{0}", sName.ToUpper()); tbGXHMean3.Text = string.Format("{0}", (string)row["Mean"]); } DataTable dtGXH4 = calendar.GetXuatHanh(date, 4); foreach (DataRow row in dtGXH4.Rows) { string sName = (string)row["Name"]; tbGXHName4.Text = string.Format("{0}", sName.ToUpper()); tbGXHMean4.Text = string.Format("{0}", (string)row["Mean"]); } DataTable dtGXH5 = calendar.GetXuatHanh(date, 5); foreach (DataRow row in dtGXH5.Rows) { string sName = (string)row["Name"]; tbGXHName5.Text = string.Format("{0}", sName.ToUpper()); tbGXHMean5.Text = string.Format("{0}", (string)row["Mean"]); } DataTable dtGXH6 = calendar.GetXuatHanh(date, 6); foreach (DataRow row in dtGXH6.Rows) { string sName = (string)row["Name"]; tbGXHName6.Text = string.Format("{0}", sName.ToUpper()); tbGXHMean6.Text = string.Format("{0}", (string)row["Mean"]); } #endregion }
public static string GetLunarKey(LuniSolarDate <VietnameseLocalInfoProvider> lsDate) { return(string.Format("{0:00}{1:00}{2}", lsDate.Day, lsDate.Month, lsDate.IsLeapMonth ? "n" : "")); }
public static string GetSolarKey(LuniSolarDate <VietnameseLocalInfoProvider> lsDate) { return(string.Format("{0:ddMM}", lsDate.SolarDate)); }
//GT = 1 là nữ //GT = 0 là nam public static string GetTuVi(DateTime date, int GT) { string line = ""; LuniSolarDate <VietnameseLocalInfoProvider> luni = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); LunnarCalendar lunnar = new LunnarCalendar(); string sCan = lunnar.GetCanNam(luni.Year); string sChi = lunnar.GetChiNam(luni.Year); string sCanFile = ""; string sChiFile = ""; string filetext = ""; switch (sCan) { case "Giáp": sCanFile = Can[0]; break; case "Ất": sCanFile = Can[1]; break; case "Bính": sCanFile = Can[2]; break; case "Đinh": sCanFile = Can[3]; break; case "Mậu": sCanFile = Can[4]; break; case "Kỷ": sCanFile = Can[5]; break; case "Canh": sCanFile = Can[6]; break; case "Tân": sCanFile = Can[7]; break; case "Nhâm": sCanFile = Can[8]; break; case "Quý": sCanFile = Can[9]; break; default: break; } switch (sChi) { case "Tý": sChiFile = Chi[0]; break; case "Sửu": sChiFile = Chi[1]; break; case "Dần": sChiFile = Chi[2]; break; case "Mão": sChiFile = Chi[3]; break; case "Thìn": sChiFile = Chi[4]; break; case "Tỵ": sChiFile = Chi[5]; break; case "Ngọ": sChiFile = Chi[6]; break; case "Mùi": sChiFile = Chi[7]; break; case "Thân": sChiFile = Chi[8]; break; case "Dậu": sChiFile = Chi[9]; break; case "Tuất": sChiFile = Chi[10]; break; case "Hợi": sChiFile = Chi[11]; break; default: break; } if (GT == 1) { filetext = string.Format("{0}{1}Nu.txt", sCanFile, sChiFile); StreamReader streamReader = new StreamReader(FileTextNu(filetext), Encoding.UTF8); line = streamReader.ReadToEnd(); } else { filetext = string.Format("{0}{1}Nam.txt", sCanFile, sChiFile); StreamReader streamReader = new StreamReader(FileTextNam(filetext), Encoding.UTF8); line = streamReader.ReadToEnd(); } return(line); }
void AddNumberIntoMatrix(DateTime date) { ClearMatrix(); DateTime useDate = new DateTime(date.Year, date.Month, 1); int firstcolumn = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); LunnarSample.LunnarCalendar lunnarCalendar = new LunnarSample.LunnarCalendar(); int line = 0; int column = 0; int num = 0; if (firstcolumn != 0) { if (date.Month == 1) { useDate = new DateTime(date.Year - 1, 12, 31 - firstcolumn + 1); } else { useDate = new DateTime(date.Year, date.Month - 1, DayOfMonth(new DateTime(date.Year, date.Month - 1, 1)) - firstcolumn + 1); } for (int i = 0; i < firstcolumn; i++) { LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(useDate); column = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); CustomButton btn = Matrix[line][column]; btn.TextColor = Color.DarkGray; btn.Horizontal_Alignment = StringAlignment.Near; btn.ButtonText = useDate.Day.ToString(); btn.SLunnarDay = lunnardate.Day; btn.SLunnarMonth = lunnardate.Month; btn.ZodiacDay = lunnarCalendar.IsZodiacDay(useDate, lunnardate.Month); btn.LunnarDayColor = Color.DarkGray; btn.Click += PreviousBttn_Click; useDate = useDate.AddDays(1); MatrixColor[line][column] = btn.BackColor; num++; } } useDate = new DateTime(date.Year, date.Month, 1); for (int i = 1; i <= DayOfMonth(date); i++) { column = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(useDate); CustomButton btn = Matrix[line][column]; //btn.BackColor = Color.PaleTurquoise; btn.Horizontal_Alignment = StringAlignment.Near; btn.ButtonText = i.ToString(); btn.SLunnarDay = lunnardate.Day; btn.SLunnarMonth = lunnardate.Month; btn.ZodiacDay = lunnarCalendar.IsZodiacDay(useDate, lunnardate.Month); btn.LunnarDayColor = Color.Red; btn.Click += ButtonNum_Click; if (IsEqualDate(useDate, DateTime.Now)) { btn.TextColor = Color.Aqua; } if ((IsEqualDate(useDate, dtpk.Value)) && (btn.BackColor != Color.Aqua)) { btn.TextColor = Color.SandyBrown; } //Những ngày lễ int k = IsPublicDay(useDate); if (k == 1) { btn.TextColor = Color.Red; } else if (k == 0) { btn.TextColor = Color.BlueViolet; } if (k == -1) { btn.TextColor = Color.Red; } MatrixColor[line][column] = btn.BackColor; if (column >= 6) { line++; } useDate = useDate.AddDays(1); num++; } { if (date.Month == 12) { useDate = new DateTime(date.Year + 1, 1, 1); } else { useDate = new DateTime(date.Year, date.Month + 1, 1); } for (int i = 1; i <= (42 - num); i++) { column = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(useDate); CustomButton btn = Matrix[line][column]; btn.Click += NextBttn_Click; btn.Horizontal_Alignment = StringAlignment.Near; btn.ButtonText = useDate.Day.ToString(); btn.SLunnarDay = lunnardate.Day; btn.SLunnarMonth = lunnardate.Month; btn.ZodiacDay = lunnarCalendar.IsZodiacDay(useDate, lunnardate.Month); btn.LunnarDayColor = Color.DarkGray; btn.TextColor = Color.DarkGray; MatrixColor[line][column] = btn.BackColor; if (column >= 6) { line++; } useDate = useDate.AddDays(1); } } }
public void GetDayNameTest() { DateTime today = DateTime.Today; Console.WriteLine(LuniSolarDate <VietnameseLocalInfoProvider> .GetDayName(today.Year, today.Month, today.Day)); }