我正在开发一款应用程序,用于跟踪用户的工作时间,然后根据此数据生成图形...
考虑到他们今天可以开始任务并明天完成任务,我无法保存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
答案 0 :(得分:1)
我会在数据库中添加两个datetime列来跟踪事件的开始和停止时间戳。然后你可以减去这两个值来得到时间。
答案 1 :(得分: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
答案 2 :(得分:0)
我把工作时间保存为秒:)