70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
0

مشکل در تبدیل تاریخ میلادی به شمسی روز 31 ام

دوستان سلام


توی سی شارپ یه برنامه نوشتم.تاریخ توی sql از نوع date ذخیره میشه - اینشکلی (22-07-2022)


اطلاعاتم رو توی دیتاتیبل و سپل توی دیتاگرید میریزم و لود میشه تاریخ میلادی -و چون تاریخی که از دیتابیس لود میشه میلادی هستش توسط یه for از دیتاتیبل اینو به شمسی تبدیل میکنم و جایگزین تاریخ ها توی دیتابیس میکنم تا قشنگ شمسی نشون بده

 امروز دیدم به تاریخ 31 ام پیغام String was not recognized as a valid DateTime.Couldn't store <1401/4/31> in date Column را داد نرم افزار.

کدمم میزارم - میتونین راهنمایی کنید منو چیکار کنم؟


for (int i = 0; i < dtt3.Rows.Count; i++)

{

string date = Convert.ToDateTime(dtt3.Rows[i]["date"]).ToString();

System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();

DateTime dt = DateTime.Parse(date);

dtt3.Rows[i]["date"] = pc.GetYear(dt) + "/" + pc.GetMonth(dt) + "/" + pc.GetDayOfMonth(dt);

}

dtt3 من دیتاتیبل منه که از روی اوندیتاگرید ویو لود میشه


پیشاپیش ممنون از راهنمایی

پرسیده شده در 1401/04/31 توسط

1 پاسخ

0

علتش اینه که گرید و dtp شما فقط می تونه تاریخ میلادی رو نشون بده و داره میگه ماه 4 میلادی April نمی تونه روز 31 داشته باشه.

دو راه داره :

1- به صورت تکست نشونش بدید. 

2- از گرید و فرم های شمسی سازی شده استفاده کنید و dtp شما شمسی باشه.

پاسخ در 1401/05/01 توسط

پاسخ شما