مشکل در تبدیل تاریخ میلادی به شمسی روز 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 من دیتاتیبل منه که از روی اوندیتاگرید ویو لود میشه
پیشاپیش ممنون از راهنمایی
1 پاسخ
علتش اینه که گرید و dtp شما فقط می تونه تاریخ میلادی رو نشون بده و داره میگه ماه 4 میلادی April نمی تونه روز 31 داشته باشه.
دو راه داره :
1- به صورت تکست نشونش بدید.
2- از گرید و فرم های شمسی سازی شده استفاده کنید و dtp شما شمسی باشه.