PDA

View Full Version : مقایسه دو تاریخ



mohsen200162
چهارشنبه 09 فروردین 1391, 01:21 صبح
سلام من می خوام دو تا تاریخ فارسی رو با هم مقایسه کنم چطوری این کارو بکنم
و اینکه چطوری می شه با وارد کردن تعداد روز سر تاریخ که می رسه رویداد انجام بشه

مثال :
من یه سایت تبلیغاتی دارم و می خوام مراجعه کننده تعداد روز خود برای نمایش را وارد کنه و مثلا امروز 1391/1/3 است و کاربر عدد 30 را وارد کنه توی دیتا یس من 1391/2/2 ذخیره شود
ممنون

hamid_shrk
چهارشنبه 09 فروردین 1391, 08:43 صبح
بهتره که تاریخ رو بصورت میلادی ذخیره کنید تمام این عملیات ها رو بصورت میلادی انجام بدید چون توابع DateTime خیلی کامل هستند و تمام این کار هارو انجام میدن ، شما فقط موقع نمایش تاریخ ها رو بصورت شمسی نمایش بدید که کامپوننت های زیادی برای اینکار هست ،اگه این راه رو انتخاب کردید بگید تا خودم یک کامپوننت بذارم براتون.

Saman Hashemi
چهارشنبه 09 فروردین 1391, 14:17 عصر
تاریخ به صورت عدد بریز توی بانک مثلا اینجوری 13900101 بعد خواستی نشون بدی // قرار بده این ساده ترین و به نظر من کارآمدترین روش...!

fakhravari
چهارشنبه 09 فروردین 1391, 15:28 عصر
سلام داش هاشمی
اینطوری که کلاس datetime بی کاربرد میکنه:گیج:
حالا چرا عددی؟

mohsen200162
پنج شنبه 10 فروردین 1391, 02:27 صبح
بهتره که تاریخ رو بصورت میلادی ذخیره کنید تمام این عملیات ها رو بصورت میلادی انجام بدید چون توابع DateTime خیلی کامل هستند و تمام این کار هارو انجام میدن ، شما فقط موقع نمایش تاریخ ها رو بصورت شمسی نمایش بدید که کامپوننت های زیادی برای اینکار هست ،اگه این راه رو انتخاب کردید بگید تا خودم یک کامپوننت بذارم براتون.

ممنون می شم برام ارسال کنید

hamid_shrk
پنج شنبه 10 فروردین 1391, 10:21 صبح
ممنون می شم برام ارسال کنید
بفرمایید :
84861

mohsen200162
دوشنبه 14 فروردین 1391, 00:21 صبح
بفرمایید :
84861

ممنون این فایل dll رو باید چه کار کنم اگه توضیح بدینن ممنون

Saman Hashemi
دوشنبه 14 فروردین 1391, 07:33 صبح
اینطوری که کلاس datetime بی کاربرد میکنه
حالا چرا عددی؟
شما از کلاس PersianCalendar تاریخ مد نظرتونو میگیرید اما بدون / توی بانک درج میکنید
1- سرعت مقایسه عدد در SQL بالاتر از نوع رشته ای است
2- در صورتی که از نوع DateTime استفاده کنید با هر دفعه واکشی باید تبدیل تاریخ انجام بدید در صورتی که وقتی عددی ثبت کنید باید فرمت دهی کنید پس باز سرعت بیشتر و در ضمن دردسر تبدیل تاریخ هم ندارید...!
البته این یه راه حل میتونید از راههای دیگه هم استفاده کنید اما این بهینه تره...!

شیرین احمدی
پنج شنبه 24 فروردین 1391, 21:19 عصر
شما از کلاس PersianCalendar تاریخ مد نظرتونو میگیرید اما بدون / توی بانک درج میکنید
1- سرعت مقایسه عدد در SQL بالاتر از نوع رشته ای است
2- در صورتی که از نوع DateTime استفاده کنید با هر دفعه واکشی باید تبدیل تاریخ انجام بدید در صورتی که وقتی عددی ثبت کنید باید فرمت دهی کنید پس باز سرعت بیشتر و در ضمن دردسر تبدیل تاریخ هم ندارید...!
البته این یه راه حل میتونید از راههای دیگه هم استفاده کنید اما این بهینه تره...!
من توی یک برنامه از این روش استفاده کردم . کاربر توی یک تکست باید تاریخ رو وارد کنه اگر مثلا اینو وارد کنه 1391/1/2 مقایسه غلط انجام می شه چطور باید مقیدش کرد حتما به صورت 1391/01/02 وارد کنه؟

EnKamran
جمعه 25 فروردین 1391, 00:15 صبح
بهترین روش همونه که دوستمون گفت به صورت میلادی ذخیره بشه بعد هرجا که لازم بود شمسی بشه شما از کامپوننت های موجود (مثل همین پرشیا) استفاده می کنید.