Ruby/Rails 开始,一年中给定周数的结束日期



基于文档,我能够获得当前年份的当前周数:

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

但是我需要可以检索给定周数的开始日期,结束日期的方法。在这个例子中:2016/06/06 -> 2016/06/12

知道吗?

我认为你需要像这样使用Date::commercial方法。

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

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')}"
请使用

以下函数:

Date.now.beginning_of_week
Date.now.end_of_week

相关内容

  • 没有找到相关文章

最新更新