PDA

View Full Version : جمع دو زمان و حاصل بر حسب ساعت؟



kasmaii61
دوشنبه 18 آبان 1388, 10:42 صبح
با سلام خدمت دوستان عزیز
من می خوام مجموع دو Timeرو به دست بیارم که وقتی دو متغیر از نوع Time Span تعریف می کنم و این کار رو با متد Add انجام میدم زمانی که مجموع ساعات از 24 بیشتر میشه حاصل رو بر حسب روز ساعت دقیقه و ثانیه بر می گردونه در صورتی که من مجموع ساعات رو می خوام
مثلا:




Dim a As TimeSpan = CDate("23:17:15").TimeOfDay
Dim b As TimeSpan = CDate("10:00:00").TimeOfDay
MsgBox((a.Add(b))


این کد خروجی :
1.09:17:15
رو بر می گردونه در صورتی که خروجی مورد نظر من
33:17:15
است
می تونم حاصل به دست اومده رو با استفاده از کد زیر




Dim a As TimeSpan = CDate("23:17:15").TimeOfDay
Dim b As TimeSpan = CDate("10:00:00").TimeOfDay
MsgBox(a.Add(b).TotalHours.ToString.Substring(0, InStr(a.Add(b).TotalHours.ToString, ".") - 1) + ":" + a.Add(b).Minutes.ToString + ":" + a.Add(b).Seconds.ToString)


به خروجی مورد نظرم تبدیل کنم ولی می خوام بدونم متدی وجود داره که این کار رو مستقیما انجام بده؟

milad.biroonvand
دوشنبه 18 آبان 1388, 18:13 عصر
زمانتو داخل یک متغیر از نوع date بزار بعد به این صورت

dim x as date
x.addhour(3

و نتیجه رو داخل یک متغیر دیگه از نوع date بزار

kasmaii61
سه شنبه 19 آبان 1388, 09:10 صبح
زمانتو داخل یک متغیر از نوع date بزار بعد به این صورت

dim x as date
x.addhour(3

و نتیجه رو داخل یک متغیر دیگه از نوع date بزار

بعد این کد خروجیش چیه و کدوم مشکل رو حل می کنه؟
این کد یه تعداد ساعتی رو به زمانتون اضافه می کنه و چون متغیر رو از نوع Date تعریف کردید وقتی از 24 بیشتر بشه یه روز به تاریخ جاریتون اضافه می کنه، ضمن اینکه دوباره مستلزم اینه که من ساعت، دقیقه و ثانیه رو از Time جدا کنم، عمل جمع رو تک تک اینا انجام بدم و در نهایت مشکل دوباره پابرجاست و به جواب درست هم نمیرسیم
کدی که خودم بالا نوشتم درست جواب میده ولی تصور من اینه که باید متد مستقیمی برای جمع زمان وجود داشته باشه