PDA

View Full Version : کم کردن 2 تا تایم



raha1815
جمعه 07 خرداد 1389, 19:41 عصر
سلام
من تو برنامم وقتی 2 تا تایم و از هم کم میکنم اگر ساعت یکی باشه ساعت و 12 نشون میده مثلا :

12:02:01= 05:34:22 - 05:36:23 در صورتی که جواب صحیح 00:02:01 باید باشه . ولی وقتی ساعت فرق میکنه جواب درسته .

مشکل کجاست و چطوری باید حلش کنم ؟

تایم ها رو تو select از هم کم میکنم . و تو ستون datagrid نشون میدم .


select dateofpath , orbit, path,sensor,dataon, dataoff,(dataoff - dataon),

mortezaadi
شنبه 08 خرداد 1389, 02:04 صبح
با تایم اسپن امتحان کن

Dim t1 As New TimeSpan(5, 36, 23)
Dim t2 As New TimeSpan(5, 34, 22)
Debug.WriteLine((t2 - t1))

raha1815
یک شنبه 09 خرداد 1389, 16:33 عصر
سلام
ممنونم ، بله این درسته و کار میکنه ولی من تو برنامه چطوری ازش استفاده کنم ؟
من تو دیتا بیسم sql ، دو تا فیلد time off و time off دارم که اختلاف این دو رو با select تو دیتا گرید پر میکنم ( کد بالا ) .

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

raha1815
یک شنبه 09 خرداد 1389, 21:51 عصر
سلام جناب Mortezaadi و بقیه اساتید
لطف میکنید بیشتر راهنمایی کنید ....

Shahram_Shobeiri
دوشنبه 10 خرداد 1389, 09:16 صبح
این مشکل به این خاطر اتفاق افتاده که از فرمت 12 ساعته استفاده می کنه. احتمالاً با فرمت 24 ساعته ذخیره نکردی. از یکی از روش های زیر استفاده کن ببین درست میشه


SELECT CAST(DATEDIFF(hour, dataoff , dataon) AS CHAR(2)) + ':' + CAST(DATEDIFF(minute, dataoff , dataon) AS CHAR(2)) + ':' + CAST(DATEDIFF(second, dataoff , dataon) AS CHAR(2))
یا
SELECT (CAST(dataoff AS smalldatetime) - CAST(dataon AS smalldatetime)) AS 'time'

raha1815
چهارشنبه 12 خرداد 1389, 22:47 عصر
جناب شبیری با تشکر از شما

بعد از تغییر select به شکلی که شما گفته بودین این نتیجه حاصل شد : ( اولین select ، نتیجه دومین پیشنهاد شما با نتیجه (dataoff - dataon) فرقی نداشت .
http://www.freeuploadimages.org/images/x6zu8xok5elyyaz3z3.jpg



ممنون میشم بگین چطوری میتونم مشکل و حل کنم

Shahram_Shobeiri
جمعه 14 خرداد 1389, 00:25 صبح
یه بار جای on و off رو عوض کنید ببینید درست میشه؟

raha1815
جمعه 14 خرداد 1389, 16:51 عصر
سلام
خوب ساعت off همیشه بزرگتر از ساعت On ، چطوری عوض کنم ؟، منظورتون تو دیتاگریدکه نیست ؟

Shahram_Shobeiri
شنبه 15 خرداد 1389, 00:19 صبح
اگه جواب رو نگاه کنید می بینید که داره کوچیکتره رو منهای بزرگتره می کنه چون حاصل منفی شده. شما تو اون کوئری که من نوشتم جای on و off رو عوض کن ببین چی میشه