Mis*_*hko 5 ruby-on-rails ruby-on-rails-4
要获得当前季度的开始和结束日期,可以执行以下操作:
start_of_curr_quarter = Time.current.to_date.beginning_of_quarter
end_of_curr_quarter = start_of_curr_quarter.end_of_quarter
Run Code Online (Sandbox Code Playgroud)
要获得上一季度的日期,这似乎是一个合理的方法:
end_of_prev_quarter = Time.current.to_date.beginning_of_quarter - 1
start_of_prev_quarter = end_of_prev_quarter.beginning_of_quarter
Run Code Online (Sandbox Code Playgroud)
我想概括一下.如何在Rails 4中实现以下功能?
def quarter_dates(quarter_offset)
# --------------------------------------------
# quarter_offset return value
# --------------------------------------------
# 0 current quarter dates
# 1 prev quarter dates
# 2 before prev quarter dates
# ... ...
# Implementation goes here...
[start_of_quarter, end_of_quarter]
end
Run Code Online (Sandbox Code Playgroud)
我会这样做:
def quarter_dates(offset)
date = Date.today << (offset * 3)
[date.beginning_of_quarter, date.end_of_quarter]
end
puts quarter_dates(0) #=> [Tue, 01 Apr 2014, Mon, 30 Jun 2014]
puts quarter_dates(1) #=> [Wed, 01 Jan 2014, Mon, 31 Mar 2014]
puts quarter_dates(9) #=> [Sun, 01 Jan 2012, Sat, 31 Mar 2012]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |