PDA

View Full Version : سوال: نحوه محاسبه اختلاف زمان در نوع داده DateTime



amirniknam
پنج شنبه 17 مرداد 1387, 02:56 صبح
سلام دوستان
من مشكلي دارم كه نمي دونم مي شه راحت حلش كرد يا نه
تصور كنيد من دو زمان دارم كه يكي شروع و ديگري پايان كاري را نشان ميدهند من اسم اين ها رو TimeS1 و TimeE1 مي زارم و دو زمان ديگه به همين ترتيب دارم TimeS2 و TimeE2 حالا مي خوام ببينم TimeS1 و TimeE1 چقدر بين TimeS2 و TimeٍE2 قرار گر فته اند
مثلا ممكن است كه TimeS1 كوچكتر از TimeS2 باشد و TimeE1 نيز از TimeE2 كوچكتر باشد در اين حالت بايد TimeS2 را از TimeE1 كم كرد تا اين اختلاف به دست آيد و به همين ترتيب براي حالات ديگر ... ولي مي خوام ببينم آيا راهي راحتر به غير از نوشتن اين IF و Else ها هست يا نه؟
ممنون مي شم اگر نظر بديد

milade
پنج شنبه 17 مرداد 1387, 06:22 صبح
من نمی دونم دوستان راه حل بهتری دارند یا نه ولی باید ساعت رو جدا دقیقه رو جدا ثانیه رو جدا به دست بیاری و سپس از هم کمشون کنی
بای

amirniknam
پنج شنبه 17 مرداد 1387, 12:31 عصر
من نمی دونم دوستان راه حل بهتری دارند یا نه ولی باید ساعت رو جدا دقیقه رو جدا ثانیه رو جدا به دست بیاری و سپس از هم کمشون کنی
بای
نه اصلا نيازي به اين كار نيست با استفاده از كلاس TimeSpan و كم كردن DateTime ها (منظورم داده هاي نوع DateTime است) از هم به راحتي مي شه اختلاف زماني رو به دست آورد و مشكل من به دست آوردن اختلاف زماني نيست بلكه مي خوام در واقع بازه ها رو مشخص كنم.

milade
جمعه 18 مرداد 1387, 07:08 صبح
می شه بیشتر توضیح بدی؟
بای

amirniknam
جمعه 18 مرداد 1387, 10:00 صبح
می شه بیشتر توضیح بدی؟
بای
وقتي شما دو داده از نوع DateTime رو از هم كم مي كنين حاصل در نوع داده ي TimeSpan قرار ميگيره. اين كلاس مي تونه به شما تعداد اختلاف ساعات دقايق ثانيه حتي روز و ... رو كه حاصل تفريق دو DateTime هست بگه بنابراين براي به دست آوردن اختلاف نيازي به تبديل و يا كم كردن جداي دقايق و ساعت ها و غيره نيست
مشكل من اين هست كه مي خوام بينم غير از نوشتن دستورات If و esle آيا راهي هست كه بتونه بگه آغاز و پايان يك كار چه ميزان(چند ساعت و دقيقه) با آغاز و پايان كار ديگه تداخل داشته

mostafa_sgh
جمعه 18 مرداد 1387, 13:40 عصر
در تکمیل تاپیک دوستمون .....


DateTime TimeS1 = DateTime.Now;

// Do Somthing

DateTime TimeE1 = DateTime.Now;

TimeSpan diff1 = TimeE1.Subtract(TimeS1);
.
.
.

DateTime TimeS2 = DateTime.Now;

// Do Somthing

DateTime TimeE2 = DateTime.Now;

TimeSpan diff2 = TimeE2.Subtract(TimeS2);



و در پایان اختلافات رو بررسی کن .

البته بعید میدونم تو این کار از if و else استفاده نکنی !!!


مثال : لینک (http://dotnetguts.blogspot.com/2007/06/understanding-datetime-and-timespan-in.html)