PDA

View Full Version : مقایسه یک زمان با زمان فعلی سیستم؟



Ir.WebDeveloper
چهارشنبه 09 تیر 1389, 08:09 صبح
سلام
یک متغیر دارم که یک زمان رو نگه میداره:



DateTime dt = newDateTime(2010, 1, 1, 7, 53, 10);


(به بخش تاریخ کاری ندارم)
حالا میخوام زمان فعلی رو با این زمان مقایسه کنم،اما مشکلی که وجود داره اینه که در سیستم های مختلف فرمت زمان با هم تفاوت داره،مثلا یکی 1:05:23 AM و دیگری 13:05:23
که در نتیجه مقایسه درست از آب در نمیاد...



if (DateTime.Now.TimeOfDay < dt.TimeOfDay)

happy65_sh
چهارشنبه 09 تیر 1389, 09:14 صبح
(به بخش تاریخ کاری ندارم)

يعني توي مقايسه ات ساعت 14 روز بيست تير از ساعت 12 روز بيست و يكم بزرگتر ميشه؟!:متفکر:

seven7777777
چهارشنبه 09 تیر 1389, 09:31 صبح
خوب اول فرمت هاش رو با هم یکی کن و بهد مقایسه کن . این که مشکلی نداره ...

Ir.WebDeveloper
چهارشنبه 09 تیر 1389, 10:15 صبح
يعني توي مقايسه ات ساعت 14 روز بيست تير از ساعت 12 روز بيست و يكم بزرگتر ميشه؟!:متفکر:

گفتم اصلا به تاریخ کاری ندارم که امروز چه روزی فقط ساعت جاری رو میگیرم با ساعت بالا مقایسه میکنم(منتها چون توسازنده DateTime نمیشه فقط Timeداد مجبور شدم یک تاریخ بدم).
ضمنا مشکل از مقایسه نیست و مقایسه ام درست بود (البته با متد TimeOfDay)،که لحظاتی پیش متوجه شدم اشکال از بخشی بود که این کد رو تو اون نوشته بودم،بهرحال ممنون از شما.

Ir.WebDeveloper
چهارشنبه 09 تیر 1389, 10:19 صبح
خوب اول فرمت هاش رو با هم یکی کن و بهد مقایسه کن . این که مشکلی نداره ...
فرمت ها در دستوری که نوشتم یکی اند و این روش کارامد ترین روش برای مقایسه یک زمان با فرمت hh:mm:ss هست که همانطور که در بالا گفتم دستورم درست بود و یه باگ منطقی باعث میشد نتیجه رو اشتباه ببینم...
یک نکته هم بگم بد نیست فرمت هایی که برای نوع datetime وجود دارد باید به شکلی غیر از ()ToString باشه که قابله مقایسه باشه وگرنه این متد دارای حدودا 20 فرمت نمایش تاریخ و زمانه...
یا حق.