PDA

View Full Version : برخورد مشکل خیلی بد در تبدیل تاریخ شمسی به میلادی و میلادی به شمسی در DataGridView



davidrobert
یک شنبه 30 اردیبهشت 1397, 17:57 عصر
سلام و خسته نباشید دوستان بنده با یه مشکل خیلی بد برخورد کردم بنده از این دستور ها ها برای محاسبه تاریخ استفاده میکردم تا دیروز قشنگ کار میکرد هم هم محاسبه تاریخ و هم تبدیل

DateTime DateSabtbefor = DateTime.Parse(row.Cells["Clm_F_Date_Sabt_befor"].Value.ToString());
DateTime DateSabt = DateTime.Parse(TxtDateBuye.Text);
TimeSpan t = DateSabt - DateSabtbefor;
row.Cells["Clm_F_Modat_Zaman"].Value = t.TotalDays;
row.Cells["ClmMorajeMiladi"].Value = DateTime.Now.AddDays(t.TotalDays).ToString();
DateTime date = DateTime.Parse(row.Cells["ClmMorajeMiladi"].Value.ToString());
row.Cells["Clm_F_Date_Moraje"].Value = pc.GetYear(date).ToString("0000") + "/" +
pc.GetMonth(date).ToString("00") + "/" +
pc.GetDayOfMonth(date).ToString("00");

برنامه که به مشتری ام دادم تا یک سال با این دستور قشنگ کار میکرد ولی از دیروز نه تو سیستم من و نه تو سیستم مشتری ام کار نمی کنه و هی این پیغام خطا میده

String was not recognized as a valid DateTime.

الان هر کاری میکنم حتی از این دستور استفاده میکنم داخل کادر متن جواب میده ولی دیتاگرید ویو نه

string shamsi = row.Cells["Clm_F_Date_Sabt_befor"].Value.ToString();
string year = shamsi.Substring(0, 4);
string manth = shamsi.Substring(shamsi.Length - 5, 2);
string day = shamsi.Substring(shamsi.Length - 2, 2);
row.Cells["Clm_F_Date_Sabt_befor_Miladi"].Value = Cls_NeedCode.Miladi(year, manth, day);

برنامه تعویض روغنی هستش تاریخ مراجعه قبلی و تاریخ امروز از روغن ماشین استفاده شده محاسبه میکنه و تاریخ مراجعه بعدی و تعداد روزش رو نشان میده ولی یک دفعه از پیروز دیگه این دستور کار نمیکنه.
ممنون میشم راهی سراغ دارید بگید با تشکر.

ژیار رحیمی
یک شنبه 30 اردیبهشت 1397, 19:31 عصر
سلام.فرمت ذخیره سازی تاریخ در دیتابیس به چه شکلی هست .از نوع DateTime یا از نوع String هست؟
همانطور که گفتید بمدت یکسال کار میکرده و الان به مشکل برخورده.بهتره داخل دیتابیس رو نگاهی بندازی ببینی دیتایی که در دیتا گرید نمایش میدی ستون تاریخ رکوردهای آن بدرستی ثبت شده یا نه
احتمال میدم یکی از رکوردهای ثبت شده ستون تاریخ آن null باشه که باعث خطا در تبدیل میشود

davidrobert
یک شنبه 30 اردیبهشت 1397, 20:15 عصر
از نوع Date هستش و به وسیله یه فانکشن تبدیل به شمسی و شمسی به میلادی تبدیل میکنم مشکل من به سرور هم نمیرسه روی ویندوز هستش
تو ویندوز 10 وقتی تاریخ شمسی درست کار میکنه ولی تاریخ میکنم میلادی خراب میشه ولی قبلا تو هر دو حالت تست گرفتم قشنگ میامد و محاسبه تاریج جدید نشان میداد.
الان این طوری داره اذیت میکنه و کاربر نمیتونه تاریخ خالی رها کنه سیستم ایراد میگیره. نسخه قبلی برنام درست این مشکل براش پیش امده هم این

davidrobert
دوشنبه 31 اردیبهشت 1397, 09:45 صبح
سلام و خسته نباشید از دوستاان عزیز دیروز بلخره تونستم توسط استاد بزرگوارم آقای http://barnamenevis.org/member.php?131732-khokhan به جواب برسم این هم سورس دانلود سورس (http://s9.picofile.com/file/8326996692/%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87_%D9%85%D8%AF% D8%AA_%D9%85%D8%B1%D8%A7%D8%AC%D8%B9%D9%87_%D8%AA% DA%A9%D8%B3_%D8%A8%D8%A7%DA%A9%D8%B3_%D9%88_%D8%AF %DB%8C%D8%AA%D8%A7%DA%AF%D8%B1%DB%8C%D8%AF_%D9%88% DB%8C%D9%88.7z.html)
از استاد بزرگوارم ممنون بابت کمکش