Velocity Reviews > Working with time (dateDiff)

Working with time (dateDiff)

John Smith
Guest
Posts: n/a

 01-16-2005
Hi,

I'm having trouble working out the best way of calculating the time
difference between two times on the same day.
The example I have found does return the hours (in this case but forgets
the minutes.

I am looking to return the hour & the minute but i've had a look at the
dateDiff format and this doesn't seem possible ?

Thanks

J.

---------------------------------
time1 = "09:15"
time2 = "17:30"

hours = datediff("h",time1,time2) ' in hours

response.write(hours)
----------------------------------

Guest
Posts: n/a

 01-16-2005
"John Smith" wrote ...

> I am looking to return the hour & the minute but i've had a look at the
> dateDiff format and this doesn't seem possible ?

> hours = datediff("h",time1,time2) ' in hours

hours = datediff("m", time1, time2) ' in minutes

hours = hours / 60

its rough...

Rob

Guest
Posts: n/a

 01-16-2005
"John Smith" wrote ...

> ---------------------------------
> time1 = "09:15"
> time2 = "17:30"
>
>
> hours = datediff("h",time1,time2) ' in hours
>
> response.write(hours)
> ----------------------------------

So - in the above - hours = 8 and the minutes are lost...

hours = datediff("n", time1, time2) ' in minutes
' hours would now =

Guest
Posts: n/a

 01-16-2005
"John Smith" wrote ...

> ---------------------------------
> time1 = "09:15"
> time2 = "17:30"
>
>
> hours = datediff("h",time1,time2) ' in hours
>
> response.write(hours)
> ----------------------------------

Hi John,

Please excuse my first post which I placed an m for minutes instead of the
n - please then excuse my second post which I sent to early prior to
finishing a code example...

Try this!

<%
time1 = "09:15"
time2 = "17:30"

' minutes = datediff("n",time1,time2) ' in minutes
' response.write(hours)

hour1 = hour(time1)
hour2 = hour(time2)

minutes1 = "00:" & minute(time1)
minutes2 = "00:" & minute(time2)

hoursDiff = datediff("h", time1, time2)
minutesDiff = datediff("n", minutes1, minutes2)

If minutesDiff > -1 Then

' positive hour difference
timeDiff = hoursDiff & "hrs " & minutesDiff & "mins"

Else
' negative hour difference
hoursDiff = hoursDiff - 1
minutesDiff = 60 + minutesDiff

timeDiff = hoursDiff & "hrs " & minutesDiff & "mins"

End If

Response.Write timeDiff
%>

Give the above ago - then try changing it so that the minutes of time2 are
less than the minutes of time1 - still works nicely - you'll need to play
with different times to test it fully I'm sure there's still an opportunity
here for error in the above.

Hope this helps.

Regards

Rob

McKirahan
Guest
Posts: n/a

 01-16-2005
"John Smith" <(E-Mail Removed)> wrote in message
news:cscc2j\$624\$(E-Mail Removed)...
> Hi,
>
> I'm having trouble working out the best way of calculating the time
> difference between two times on the same day.
> The example I have found does return the hours (in this case but

forgets
> the minutes.
>
> I am looking to return the hour & the minute but i've had a look at the
> dateDiff format and this doesn't seem possible ?
>
> Thanks
>
> J.
>
>
> ---------------------------------
> time1 = "09:15"
> time2 = "17:30"
>
>
> hours = datediff("h",time1,time2) ' in hours
>
> response.write(hours)
> ----------------------------------

Const time1 = "09:15"
Const time2 = "17:30"
Dim hours, mins
hours = datediff("h",time1,time2)
mins = datediff("n",time1,time2)
If mins > 60 Then mins = mins - hours * 60
response.write hours & ":" & mins