我正在使用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.
任何人都会让我知道我怎么能得到正确的差异.....谢谢:)
答案 0 :(得分:2)
你可以尝试下面的工作
Time.at((@c1.out_time-@c1.in_time).round.abs).utc.strftime "%H:%M"
它将返回时间,如“09:00”