0

我正在开发一个应用程序,该应用程序将跟踪用户的工作时间,然后根据这些数据生成图形......
考虑到他们今天可以开始任何任务并在明天完成,我无法保存Date.. . 到目前为止,我正在保存一个整数字段hours和一个整数minute......
有没有办法(也许是一些宝石)来帮助我处理这种问题?
还是有其他方法?
谢谢

我的课程Atendimento包含所有必要的数据

class Atendimento < ActiveRecord::Base
  attr_accessible :horas, :minutos, :empresa, :tipo_atendimento, :observacao, :empresa_id, :tipoatendimento_id

  belongs_to :empresa
  belongs_to :tipo_atendimento, :foreign_key => 'tipoatendimento_id'
  belongs_to :usuario

  validates :horas, :minutos, presence: true
end
4

3 回答 3

1

我会在您的数据库中添加两个日期时间列来跟踪事件的开始和停止时间戳。然后你可以减去这两个值来得到经过的时间。

于 2012-09-18T15:01:36.930 回答
1

您应该将开始时间和结束时间添加为时间戳,而不是三个字段。您可以通过将这些行添加到迁移文件来做到这一点:

add_column :tasks, :started_at, :timestamp
add_column :tasks, :ended_at, :timestamp

然后,您可以在模型中使用这些时间戳进行计算。

class Task < ActiveRecord::Base
  attr_accessible :started_at, :ended_at
  validates :started_at, presence: true
  validates :ended_at, presence: true

  # Returns the duration of the task in seconds
  def duration
    ended_at - started_at
  end
end
于 2012-09-18T15:06:35.617 回答
0

我将工作时间保存为秒 :)

于 2012-09-29T14:10:06.600 回答