PDA

View Full Version : ---->> اختلاف ساعت



AspNet
سه شنبه 25 اسفند 1383, 00:04 صبح
سلام

آیا راهی هست که بخوایم اختلاف دو زمان را با هم به دست آوریم؟

مثلا شما فرض کنید وقتی که وارد صفحه میشیم و وقتی که دکمه ی submit رو کلیک میکنیم رو اختلاف ساعتهاش رو به دست بیاریم..

ممنون میشم کمکم کنید

Behrouz_Rad
سه شنبه 25 اسفند 1383, 09:04 صبح
با تابع TimeSerial به راتی می تونید این کار رو انجام بدید.
به عنوان مثال، فراخوانی تابع TimeSerial به شکل زیر، 2 ساعت و 15 دقیقه و 32 ثانیه قبل از ساعت 4:13:40 PM رو بر می گردونه:


TimeSerial(16 -2,13 -15,40 -32)

زمان برگشتی، 1:58:08 PM خواهد بود.
موفق باشید.

AspNet
سه شنبه 25 اسفند 1383, 09:48 صبح
می تونیم به جای این اعداد از متغیر استفاده کنیم؟
یعنی هیچ کدوم از زمان ها مشخص نیست

AspNet
سه شنبه 25 اسفند 1383, 10:43 صبح
این تابع رو به شکلی استفاده کنم ؟ یعنی کجا بنویسم؟ من به عنوان کد asp نوشتم ولی error گرفت.
من بیشتر دنبال یه کد در سی شارپ هستم.
و همچنین دو زمان میخوام بهش بدم نه اینکه بگم چند دقیقه قبل

لطف کنید کمک کنید :D

Behrouz_Rad
سه شنبه 25 اسفند 1383, 11:02 صبح
تابع TimeSerial در کلاس DateAndTime وجود دارد و جز کلاس های NET Framwork. است.
مقادیر زمان (شامل ساعت، دقیقه و ثانیه) را به شکلی مثلا با SubString از منبع مورد نظر استخراج کنید و به شکلی که قبلا گفته شده، از هم کم یا به یکدیگر اضافه کنید.
موفق باشید.

Behrouz_Rad
سه شنبه 25 اسفند 1383, 12:20 عصر
تابع تبدیل را برای شما نوشتم:


Public Function SubtractTime(ByVal xTime1 As Object, ByVal xTime2 As Object) As Object
Dim MyDate1 As Date
Dim MyDate2 As Date
Dim Result As String
MyDate1 = CDate(xTime1).ToShortTimeString
MyDate2 = CDate(xTime2).ToShortTimeString

Dim xHour1 As Int32 = CType(CStr(MyDate1).Substring(0, 2), Int32)
Dim xMinute1 As Int32 = CType(CStr(MyDate1).Substring(3, 2), Int32)
Dim xSecond1 As Int32 = CType(CStr(MyDate1).Substring(6, 2), Int32)

Dim xHour2 As Int32 = CType(CStr(MyDate2).Substring(0, 2), Int32)
Dim xMinute2 As Int32 = CType(CStr(MyDate2).Substring(3, 2), Int32)
Dim xSecond2 As Int32 = CType(CStr(MyDate2).Substring(6, 2), Int32)
Result = TimeSerial(xHour2 - xHour1, xMinute2 - xMinute1, xSecond2 - xSecond1)

Return Result
End Function

نحوه فراخوانی:


MsgBox(SubtractTime("02:05:07", "08:16:02"))

موفق باشید.

AspNet
سه شنبه 25 اسفند 1383, 14:54 عصر
مرسی
من با تابع TimeSpan حل کردم.. راحتتر بود.. اینو هم باید امتحان کنم..
البته من با سی شارپ می نویسم
:)