Ruby / Rails获取给定周数的开始,结束日期

时间:2016-06-06 09:15:43

标签: ruby-on-rails ruby

根据文档,我能够得到当前一周的当前年份:

Time.current.strftime('%V') => "23"

但是我需要能够检索给定周数的开始日期,结束日期的方法。 在此示例中:2016/06/06 -> 2016/06/12

任何想法?

3 个答案:

答案 0 :(得分:4)

我认为您需要使用Date类中的::commercial method

require 'date'

week = 23
start_week = Date.commercial(2016, week, 1)
# => #<Date: 2016-06-06 ((2457546j,0s,0n),+0s,2299161j)>

end_week = Date.commercial(2016, week, 7)
# => #<Date: 2016-06-12 ((2457552j,0s,0n),+0s,2299161j)>

如果您想在示例中显示,请执行以下操作:

puts "#{start_week} -> #{end_week}"
# => 2016-06-06 -> 2016-06-12

参考:http://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/Date.html#method-c-commercial

答案 1 :(得分:0)

请使用以下功能:

DD_CurrencyCode.DataSource = ds.Tables[0];
DD_CurrencyCode.DataTextField = "name";
DD_CurrencyCode.DataValueField = "active_currency_code";
DD_CurrencyCode.DataBind();

答案 2 :(得分:0)

p "#{(Time.now + ((Time.current.strftime('%V').to_i) * 7).days).beginning_of_week.strftime('%d/%m/%Y')} -> #{(Time.now + ((Time.current.strftime('%V').to_i) * 7).days).end_of_week.strftime('%d/%m/%Y')}"