On 28 August 2012 15:18, Khan <[email protected]> wrote:
> Hey everyone
>
>             i am trying to subtract two different times.i am getting right
> when i have two fixed times.
> here is my code
>
>
> def hour_min(last,first)
>
>     difference = last - first
>     seconds    =  difference % 60
>     difference = (difference - seconds) / 60
>     minutes    =  difference % 60
>     difference = (difference - minutes) / 60
>     hours      =  difference % 24
>
>     return hours,minutes
>
>   end
> if last =9:30 PM and first = 10:52 i get after subtraction 10 hours : 38
> mins but the problem is with Time.now
> if last = Time.now and  first = 10:30 am it is give improper output
>
>
>
> this is my view
> <% hour_min =  hour_min(Time.now.to_i,cin.first.to_i)%>

You should not need to call to_i, just pass in the times, the
difference of two times is the difference in seconds.

>  <%="#{hour_min[0]}Hour : #{hour_min[1]}Min"%>
>
> My problem is if i have two fixed timings i am getting correct but when i
> have to calculate with Time.now i am getting wrong answer can any one help
> me out

Have a look at the Rails Guide on debugging which will show you
techniques that can be used to debug the code.  I would start just by
running the console (rails c) and try calling your method with various
values and see what happens.  You can use puts in the method to print
intermediate results and see what is happening.

What results are you getting?  Is it a number of hours out?  If so
then I guess it is a time zone issue.

Colin

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to