کلاسی برای تبدیل تاریخ به تاریخ شمسی در سی شارپ

sorosh

عضو سایت
تازه وارد
این کلاس تاریخ را تبدیل به تاریخ شمسی می کند و با استفاده از یک تایمر ساعت،دقیقه و ثانیه را نمایش می دهد:

کد:
private void taghvim()
      {
          DateTime j = DateTime.Now;
          string k = j.DayOfYear.ToString();
          int i = int.Parse(k);
          int l;
          int years = j.Year - 622;
 
          if (i >= 21 && i <= 50)
          {
              txtmont.Text = "بهمن";
              l = i - 20;
          }
          else if (i >= 51 && i <= 79)
          {
              txtmont.Text = "اسفند";
              l = i - 50;
          }
          else if (i >= 80 && i <= 110)
          {
              txtmont.Text = "فروردین";
              l = i - 79;
          }
          else if (i >= 111 && i <= 141)
          {
              txtmont.Text = "اردیبهشت";
              l = i - 110;
          }
          else if (i >= 142 && i <= 172)
          {
              txtmont.Text = "خرداد";
              l = i - 141;
          }
          else if (i >= 173 && i <= 203)
          {
              txtmont.Text = "تیر";
              l = i - 172;
          }
          else if (i >= 204 && i <= 234)
          {
              txtmont.Text = "مرداد";
              l = i - 203;
          }
          else if (i >= 235 && i <= 265)
          {
              txtmont.Text = "شهریور";
              l = i - 234;
          }
          else if (i >= 266 && i <= 295)
          {
              txtmont.Text = "مهر";
              l = i - 265;
          }
          else if (i >= 296 && i <= 325)
          {
              txtmont.Text = "آبان";
              l = i - 295;
          }
          else if (i >= 326 && i <= 355)
          {
              txtmont.Text = "آذر";
              l = i - 325;
          }
          else
          {
              txtmont.Text = "دی";
              l = i - 355;
          }
 
          txtday.Text = l.ToString();
          if (i < 79)
              txtyears.Text = years.ToString();
          else
          {
              years++;
              txtyears.Text = years.ToString();
          }
          txtday.Text = l.ToString();
      }

کد تایمر:

کد:
private void timer1_Tick(object sender, EventArgs e)
      {
          txtho.Text = DateTime.Now.TimeOfDay.Hours.ToString();
          txtmin.Text = DateTime.Now.TimeOfDay.Minutes.ToString();
          txtsec.Text = DateTime.Now.TimeOfDay.Seconds.ToString();
      }
 
بالا