ruby-on-rails-4 - Rails 4 中的时差计算错误

标签 ruby-on-rails-4

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

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

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

InTime 存储为 2017 年 2 月 12 日星期二 20:30:00 UTC +00:00

OutTime 存储为 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.

有人可以告诉我如何获得正确的差异......谢谢:)

最佳答案

您可以尝试以下对我来说的工作

Time.at((@<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a693b24657f7e557e63676f274a693b246364" rel="noreferrer noopener nofollow">[email protected]</a>_time).round.abs).utc.strftime "%H:%M"

它将返回类似“09:00”的时间

关于ruby-on-rails-4 - Rails 4 中的时差计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42242375/

相关文章:

ruby-on-rails - 回形针 gem - "Image has contents that are not what they are reported to be"错误

ruby-on-rails - 如何从session_id加载Rails session ?

css - 如何对齐来自 collection_check_boxes 的输入和标签?

api - 如何在 rails 4 中为自定义位置设置双向 SSL?

ruby-on-rails - Rails i18n : "fr" is not a valid locale

ruby-on-rails - Rails 4 - 为什么我不能在保存后重定向?

ruby-on-rails-4 - 如何删除 ActiveAdmin 资源中的路由?

ruby-on-rails - 参数缺失或值为空错误

ruby-on-rails - Ransack - 分组使用或组合器

ruby-on-rails-4 - Rails : Activerecord : How to send params for I18n message inside errors. 添加自定义验证