PDA

View Full Version : سوال: مشکل تبدیل تاریخ در 3 روز خاص



goli_bushehr
یک شنبه 31 اردیبهشت 1391, 15:07 عصر
سلام
لطفا کمک کنییییییییییییییییید!!!!!!
من تاریخ را به صورت datetime در بانکم ثبت کرده ام
و هنگام نمایش در برنامه ام از روش



return
pc.GetYear(dt) + "/" + pc.GetMonth(dt) + "/" + pc.GetDayOfMonth(dt) + " " +
pc.GetHour(dt) + ":" + pc.GetMinute(dt) + ":" + pc.GetSecond(dt);

استفاده میکنم
البته بااستفاده از تابع بالا تاریخ میلادی را به شمسی تبدیل میکنم و در datatable قرار میدهم(برای نمایش در datagrid)
نکته ای که هست اینه که همه تاریخا رو میتونه به شمسی تبدیل کنه و با این خط کد در خود datatable قرار بده



for (int y = 0; y < dt4.Rows.Count; y++)






dt4.Rows[y][1] = objdate.miladiTOper(
Convert.ToDateTime(dt4.Rows[y][1].ToString()));


فقط این 3 تاریخو نمیتونه تبدیل کنه 18/05/2012 و 19 و 20 ام
فقط همین 3 تا رو!!!!!!!

جالبتر اینجاس ک ی جدول تعریف کردم درد یک sql محلی و مشکلی هم نداشتولی به بانک برروی سرور ک وصل میشم این تبدیلو انجام میده ها ولی در dattatable قرار نمیده و error میگیره

iman_me
یک شنبه 31 اردیبهشت 1391, 15:43 عصر
سلام
میتونم بپرسم چرا شمسی ذخیره میکنید که بخوایید تبدیل کنید

goli_bushehr
یک شنبه 31 اردیبهشت 1391, 15:53 عصر
میلادی ذخیره میکنم در بانک
و بعد برای نمایش ش تبدیل به شمسی ش میکنم ...

iman_me
یک شنبه 31 اردیبهشت 1391, 16:00 عصر
خوب شمسی ذخیره کنید
احتمالا تنظیمات تاریخ اون سرور درست نیس

goli_bushehr
یک شنبه 31 اردیبهشت 1391, 16:04 عصر
پس شما حدستون به تنظیمات تاریخی اون سروره؟
حدس نمیزنید sql server مشکلی داشته باشه؟

iman_me
یک شنبه 31 اردیبهشت 1391, 16:21 عصر
چون میلادی ذخیره میکنید نباید مشکل از SQL باشه چون ورژن قدیمی شمسی قبول نمیکرد

goli_bushehr
یک شنبه 31 اردیبهشت 1391, 16:21 عصر
:گریه:توراخدا یک نفر کمک کنننننننننننننننننننننننن ننننننننننننننننننننننننن ننننننننننننننننننننننننه !!!
هیچکس تاحالا به این مشکل برنخورده ؟؟؟؟

goli_bushehr
یک شنبه 31 اردیبهشت 1391, 16:29 عصر
چون میلادی ذخیره میکنید نباید مشکل
از SQL باشه چون ورژن قدیمی شمسی قبول نمیکرد

من تووی sql ام میلادی ذخیره میکنم نه شمسی
و برای نمایش دیتا هام تبدیل به میلادیش میکنم در برنامه

iman_me
یک شنبه 31 اردیبهشت 1391, 16:32 عصر
خوب منم همینو گفتم ,گفتم میلادیه اگه شمسی بود...

goli_bushehr
یک شنبه 31 اردیبهشت 1391, 16:36 عصر
مشکل از چیه که اون 3 روز خاص رو تبدیل به شمسی میکنه ها ولی در datatable ثبت نمیکنه ک نمایش بده و خطا میگیره ک نوعش همخونی نداره
چرا بقیه روزهای سال مشکلی نداره؟ فقط این 3 روز اینطوریه؟
و چرا این 3 روز رو توی ی db دیگه میذارم ، درست تبدیل میشه و مشکلی نداره ؟

iman_me
یک شنبه 31 اردیبهشت 1391, 16:46 عصر
میشه برنامه رو یا یه فرم که کد کامل داشته باشه بزارید امتحانش کنم

goli_bushehr
یک شنبه 31 اردیبهشت 1391, 17:21 عصر
:ناراحت:نمیتونم بیشتر از اونی که تو تاپیک اولم گذاشتم، بذارم ...
اینقد بزرگ و پیچیده س نمیتونم
فقط تبدیل تاریخم با persian calendere و
تاریخ توی جدول هم از نوع date هست
حالا ی store توی بانکم نوشتم که اطلاعات اون جدولو نشون بده
و بعد بریزتش در datatable
و بعد از ریختن در datatable میخام تاریخشو میلادی کنه و بعد در datatgrid بریزمش





DataTable





dt4 = objerrors.errors_DG_fani();









for (int y = 0;
y < dt4.Rows.Count; y++)





dt4.Rows[y][5] = objdate.miladiTOper(


Convert.ToDateTime(dt4.Rows[y][5].ToString()));





dataGridView1.DataSource = dt4;



objdate هم ی شی هست از کلاس date ک خودم واسه برنامه م تعریف میکنه
اینم تابع miladitoper:
public

string miladiTOper(DateTime dt)

{


return pc.GetYear(dt) + "/" + pc.GetMonth(dt) + "/" + pc.GetDayOfMonth(dt) + " " + pc.GetHour(dt) + ":" + pc.GetMinute(dt) + ":" + pc.GetSecond(dt);

}

goli_bushehr
دوشنبه 01 خرداد 1391, 09:46 صبح
اینم متن error اشه
String was not recognized as a valid DateTime.Couldn't store <1390/2/30 6:29:52> in tarikh Column. Expected type is DateTime.