PDA

View Full Version : سوال: تبدیل نوع String به Datetime



vb develop
جمعه 12 تیر 1388, 12:22 عصر
سلام دوستان عزیز.
من برای تبدیل تاریخ شمسی به میلادی از کد زیر استفاده میکنم :

public static string Shamsi2Miladi(DateTime Date)
{
GregorianCalendar gc = new GregorianCalendar(GregorianCalendarTypes.USEnglish );
return gc.GetDayOfMonth(Date).ToString()+ "/"
+ gc.GetMonth(Date).ToString()+ "/"
+ gc.GetYear(Date).ToString();
}

اما نکته اینجاست که مقدار ورودی تابع باید Datetime باشه ولی من String دارم
یعنی بجای : 1388/04/12 . من "1388/04/12" رو دارم

سئوال من اینه که چطور میتونم رشته رو به نوع تاریخ تبدیل کنم ؟

vahid.bz
جمعه 12 تیر 1388, 14:58 عصر
سلام

string[] DigitArray = new string[3];
DigitArray = textBox1.Text.Split('/');
DateTime ObjDateTime = new DateTime(int.Parse(DigitArray[0]), int.Parse(DigitArray[1])
, int.Parse(DigitArray[2]));

nafasak
شنبه 25 اردیبهشت 1389, 20:00 عصر
سلام دوستان عزیز.
من برای تبدیل تاریخ شمسی به میلادی از کد زیر استفاده میکنم :

public static string Shamsi2Miladi(DateTime Date)
{
GregorianCalendar gc = new GregorianCalendar(GregorianCalendarTypes.USEnglish );
return gc.GetDayOfMonth(Date).ToString()+ "/"
+ gc.GetMonth(Date).ToString()+ "/"
+ gc.GetYear(Date).ToString();
}



سلام این تابع چطور کار میکنه؟؟
من تاریخ شمسی بهش میدم همون رو بر میگردونه...

Peyman.Gh
شنبه 25 اردیبهشت 1389, 21:02 عصر
تبدیل String به DateTime
public DateTime p(string string_date)
{
DateTime date = DateTime.Parse(string_date );
return date;
}

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

public string p (string date)
{
int year = int.Parse(date.Substring(0, 4));
int month = int.Parse(date.Substring(5, 2));
int day = int.Parse(date.Substring(8, 2));
System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
DateTime dt = p.ToDateTime(year, month, day, 0, 0, 0, 0);
date = dt.ToShortDateString();
return date;
}
رشته به صورت YYYY/MM/DD میباشد.

موفق باشید.

پایلوت
شنبه 25 اردیبهشت 1389, 23:36 عصر
() perciancalendar pc=new perciancalendar
miladidate = pc.ToDateTime(int.Parse(maskedtextbox.Text.Substri ng(0, 4)), int.Parse(maskedtextbox.Text.Substring(5, 2)), int.Parse(maskedtextbox.Text.Substring(8, 2)), 0, 0, 0, 0);
مثال:
"maskedtextbox.text="1388/09/23


موفق باشید:لبخندساده:

نیما حتمی
سه شنبه 01 تیر 1389, 16:07 عصر
بچه ها این کد جواب مشکل منو نمی ده.به کد زیر نگاه کنید:
PersianCalendar pc = new PersianCalendar();
DateTime f = DateTime.Now;
DateTime s = Convert.ToDateTime(maskedTextBox1.Text);
textBox1.Text = Convert.ToString(s.AddMonths(Convert.ToInt32(numer icUpDown1.Value)).ToShortDateString());
DateTime dateFrom = DateTime.Parse(maskedTextBox1.Text);
DateTime dateTo = DateTime.Parse(textBox1.Text);
TimeSpan ts = dateTo - dateFrom;
MessageBox.Show(textBox1.Text);
button3.Text = Convert.ToString(ts.Days);
/*int year = int.Parse(maskedTextBox1.Text.Substring(0, 4));
int month = int.Parse(maskedTextBox1.Text.Substring(5, 2));
int day = int.Parse(maskedTextBox1.Text.Substring(8, 2));
System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
DateTime dt = p.ToDateTime(year, month, day, 0, 0, 0, 0);
maskedTextBox2.Text = dt.ToShortDateString();*/

نیما حتمی
سه شنبه 01 تیر 1389, 16:08 عصر
من کدی می خوام که نره 2تا 2تا یا 4 تا 4تا جدا کنه

mamiz
یک شنبه 11 تیر 1391, 13:15 عصر
با سلام
ازاینکه زیر خاکی بالا آوردم عذر میخوام. اما راستش خیلی سایتو گشتم و برا اینکه تاپیک تکراری باز نکنم ، نزدیکترینشو بالا آوردم.
من برای تبدیل رشته به تاریخ با مشکل روبرو شدم.
از کد زیر استفاده کردم

public DateTime P2G(string pd)
{
PersianCalendar pc = new PersianCalendar();
CultureInfo persianCulture = new CultureInfo("fa-IR");
DateTime dt = DateTime.ParseExact(pd, "yyyy/M/d", persianCulture);
return pc.ToDateTime(dt.Year, dt.Month, dt.Day, 12, 0, 0, 0);
}
برنامه کارش رو به درستی انجام میده، اما با تاریخهای 31/2 - 31/4 - 31/6 مشکل داره.
لطفا اگر کسی برخورد داشته بگه.
ممنون

PirouzNZ
پنج شنبه 21 شهریور 1392, 17:36 عصر
با سلام خدمت اساتید محترم همه ی روش هایی که گفته شده کاربردی و مورد استفاده است. ولی سوال من اینجاست، آیا تبدیل شما، روز های 30 و 31 را هم انجام می دهد یا کسی به این نکته توجه ی نداشته؟؟؟؟؟؟/

FastCode
پنج شنبه 21 شهریور 1392, 17:48 عصر
با سلام خدمت اساتید محترم همه ی روش هایی که گفته شده کاربردی و مورد استفاده است. ولی سوال من اینجاست، آیا تبدیل شما، روز های 30 و 31 را هم انجام می دهد یا کسی به این نکته توجه ی نداشته؟؟؟؟؟؟/
همه ی نکات حتی سالهای کبیسه استثناء هم در نظر گرفته شده.