PDA

View Full Version : timespan



sabaab1359
پنج شنبه 30 فروردین 1386, 22:06 عصر
سلام.
من می خوام مجموع اختلاف چندین ساعت رو از یک ساعت مبنا محاسبه کنم. برای این کار از یک متغیر timespan استفاده کردم. ولی مشکل اینه که وقتی ساعت ها 24 میشه اون رو به روز نشون می ده و ساعت رو دوباره صفر می کنه یعنی 1 روز و 0 ساعت ولی من می خوام فقط ساعت و دقیقه نشون بده یعنی 24 ساعت بزنه نه 1 روز. لطفا راهنماییم کنید.
در ضمن یک متغیر سراسری هم از نوع timespan دارم که می خوام اون رو توی یک متد برنامه ام مقداردهی اولیه کنم. این کار رو چطور می تونم انجام بدم. ممنون

omid_Ahmadi
جمعه 31 فروردین 1386, 08:21 صبح
می تونی از خاصیت TotalHours، TotalMinutes و ... استفاده کنی.

sabaab1359
سه شنبه 04 اردیبهشت 1386, 20:21 عصر
خب اگه از این خاصیتها استفاده کنم مثلا totalhours درست نشون نمی ده مثلا وقتی باید بزنه 20 ساعت و 45 دقیقه می زنه 20.75

درباره مقدار دهی تولیه متغیر timespan هم لطف کنید راهنماییم کنید. ممنون.
اصلا نوع دیگه ای هست که من بتونم برای محاسبه اختلاف ساعت از اون استفاده کنم.

behzad_gh
سه شنبه 04 اردیبهشت 1386, 22:06 عصر
اگر شما فقط ساعت رو می‌خواهید می‌توانید خاصیت Days را در ۲۴ ضرب کنید و به خاصیت Hours اضافه کنید.


Dim date1, date2 As DateTime
date1 = New DateTime(2006, 1, 1)
date2 = DateTime.Now
Dim ts As TimeSpan = date2.Subtract(date1)
Dim totalhours As Integer = ts.Days *24 + ts.Hours


timespan فرمت خاصی برای تاریخ است تا بتوان تاریخ ها را با هم مقایسه یا کم و زیاد کرد.
برای مثال خروجی دستور (MessageBox.Show(ts.ToString به صورت زیر است :
349.14:32:44.1937760
که نشان دهنده :
* 349 روز
* 14 ساعت
* 32 دقیقه
* 44 ثانیه
* 1937760 میلی ثانیه می‌باشد.
همچنین timespan دارای خصوصیات و متدهای مختلفی برای بدست آوردن مقادیر گوناگون مانند ساعت کل ، دقیقه کل و ... به شرح ذیل می‌باشد.

* Add: Add another TimeSpan to it.
* Days: Return the day portion of the TimeSpan value.
* Duration: Retrieve the absolute value of the TimeSpan.
* Hours: Return the hour portion of the TimeSpan value.
* Milliseconds: Return the millisecond portion of the TimeSpan value.
* Minutes: Return the minute portion of the TimeSpan value.
* Negate: Retrieve the negated value of the current instance.
* Seconds: Return the second portion of the TimeSpan value.
* Subtract: Subtract another TimeSpan from it.
* Ticks: Return the TimeSpan value as ticks.
* TotalDays: Return the TimeSpan value as days.
* TotalHours: Return the TimeSpan value as hours.
* TotalMilliseconds: Return the TimeSpan value as milliseconds.
* TotalMinutes: Return the TimeSpan value as minutes.
* TotalSeconds: Return the TimeSpan value as seconds