从日期范围中排除周末,

时间:2013-05-07 15:21:02

标签: ruby-on-rails-3.2

我的应用程序旨在计算病假/休假日。注释掉的部分是我用来跟踪假期多长时间的部分,但不排除周末。我读了这个答案(Counting days excluding weekends)并且真的试图将它应用到我的模型中,但是现在我的持续时间等式回到“0”而不管我输入的数据。

class Furlough < ActiveRecord::Base
  attr_accessible :duration, :note, :date_from, :date_to, :description, :employee_id
  belongs_to :employee
  validates_presence_of :date_from, :date_to, :employee_id, :description

  # def duration
  #     (date_to - date_from).to_i 
  # end

  def duration
    only_weekdays(date_to..(date_from))
  end

  protected
  def only_weekdays(range)
    range.select { |d| (1..5).include?(d.wday) }.size
  end


end

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

duration更改为:

only_weekdays(date_from..date_to)