簡體   English   中英

Ruby / Rails獲取給定周數的開始,結束日期

[英]Ruby/Rails get start, end date of a given week number of year

根據文檔,我能夠獲得當前一周的當前年份:

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

請使用以下功能:

Date.now.beginning_of_week
Date.now.end_of_week
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')}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM