PDA

View Full Version : خطای تاریخ 1392/02/31



mohammad-bahrami
سه شنبه 08 اسفند 1391, 14:14 عصر
با سلام
چرا هنگامی تاریخ 31/02/1391 وارد می كنم خطای شكل زیر میده؟

خطا:String was not recognized as a valid DateTime.


PersianCalendar jc = new PersianCalendar();

string now = jc.GetYear(thisDate) + "/" + jc.GetMonth(thisDate) + "/" + jc.GetDayOfMonth(thisDate);

string xc = (DateTime.Parse("1392/02/31") - DateTime.Parse(now)).TotalDays.ToString();//تعداد تمام روزها

tooraj_azizi_1035
سه شنبه 08 اسفند 1391, 14:23 عصر
DateTime.Parse تاریخ میلادی رو استخراج می کنه.

FreeMagic
سه شنبه 08 اسفند 1391, 15:52 عصر
همون طور که دوستمون فرمودن این کد برای تاریخ میلادی هست در صورتی که شما میخواین تاریخ میلادی رو از شمسی کم کنید
برای تاریخ شمسی به این صورت به میلادی تبدیلش کنید
pc.ToDateTime(y, m, d, 0, 0, 0, 0).ToString().Substring(0, 10);
y: چهار رقم به عنوان سال
m: دو رقم به عنوان ماه
d: دو رقم به عنوان روز
به این صورت تاریخ میلادی رو به دست بیارید و بعد تاریخ امروز رو مثل کدتون کم کنید. به احتمال خیلی زیاد جواب میده