在Rails 4中错误地计算时差

时间:2017-02-15 06:45:11

标签: ruby-on-rails-4

我正在使用Ruby 2.2和Rails 4以及sqlite数据库开发一个项目,其中错误地计算了时差。

我已经为此目的使用了TimeDifference方法。

在我的数据库中有一个表MachineAttendance。

InTime存储为Tue,2017年2月12日20:30:00 UTC +00:00

OutTime存储为Tue,2017年2月12日05:30:00 UTC +00:00

@c1.in_time.strftime("%I:%M %p")

"08:30 PM"

@c1.out_time.strftime("%I:%M %p")

"05:30 AM"

And my method is

time_diff=TimeDifference.between(@c1.in_time.strftime('%H:%M:%S'), @c1.out_time.strftime('%H:%M:%S')).in_hours.to_f

its giving 15.0 hrs which is wrong

as it should be 9.0 hrs.

任何人都会让我知道我怎么能得到正确的差异.....谢谢:)

1 个答案:

答案 0 :(得分:2)

你可以尝试下面的工作

Time.at((@c1.out_time-@c1.in_time).round.abs).utc.strftime "%H:%M"

它将返回时间,如“09:00”