@colin here i found in console >> @bio = Biometric.find(36457) => #<Biometric id: 36457, rfid: 0, userid: 3, date_time: "2012-08-29 09:30:00", checkin_checkout: nil, forget: nil, reason: nil, entered_by: nil, created_at: "2012-08-29 09:30:00", updated_at: "2012-08-29 09:30:00", RealCheckIn: nil, MACHINENO: nil> >> @first = @bio.date_time.to_i => 1346232600 >> @now = Time.now => Wed Aug 29 12:13:46 +0530 2012 >> @time_now = @now.to_i => 1346222626 >> @time_now - @first => -9974
@first = @bio.date_time => Wed, 29 Aug 2012 09:30:00 UTC +00:00 with out converting to to_i >> @now = Time.now => Wed Aug 29 12:16:48 +0530 2012 with out converting to_i as i found was my date from database is in UTC format and when it comes to Time.now its not UTC how can i solve it Cheers On Tue, Aug 28, 2012 at 9:28 PM, Colin Law <[email protected]> wrote: > On 28 August 2012 16:40, sameena Khan <[email protected]> > wrote: > > @colin if i have two timings9:30 PM and 10:52 i got correct output here > it > > is 10 hours : 38mins > > and if i give Time.now as one input and 10:30 AM as another input i got > 2 > > hours : mins > > The best thing is to put in some diagnostic code and work out what is > happening. Remember Time.now is not a time of day it is a date and > time. Hopefully your other times are also full date and time objects. > > Colin > > > > > > > i dont think it is timezone issue because if there are two fixed inputs > and > > if i subtract them with my code i get the correct output the only issue > is > > with Time.now as a input i guess. i wanna calculate the working hours > with > > mins of an employee. As i explained before if the employee checkin and > > checkout time is there i can able to calculate it and if i wanna show > right > > from his checkin until he checkout every min of his working hours and > mins i > > have to go for Time.now as another input. > > > > On Tue, Aug 28, 2012 at 8:05 PM, Colin Law <[email protected]> > wrote: > >> > >> 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. > > > > > > If i don't call with to_i the output will be with decimal(i.e., 3.o > hours ) > > to convert them i went with to_i > >> > >> > >> > <%="#{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. > >> > >> > > > > -- > > 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. > > > > > > -- > 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. > > > -- 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.

