Sie diesen Code verwenden können. Die Werte wurden verwendet, um in der Frage geliefert month = 2,
week_number = 2
und year = 2016
month = 2
year = 2016
week_number = 2
FIRST_DAY = 1 #first day of every month
day = { monday: 1, tuesday: 2, wednesday: 3, thursday: 4, friday: 5, saturday: 6, sunday: 7}
first_wk_of_month = Date.new(year, month, FIRST_DAY).cweek #=> 05
date_week_num = first_wk_of_month + (week_number - 1) #=> 06
date = Date.commercial(year, date_week_num, day[:monday]).to_s # 2016-02-08
Es gibt Wochen in einem Jahr und ein Monat so niedrig wie 1 Tag in einer Woche, wenn es am Sonntag beginnt. Berücksichtigt man dies,
first_wk_of_month
findet die Wochennummer im Jahr (zwischen 1 und 52), auf dem der betreffende Monat beginnt.
date_week_num
findet die tatsächliche Wochennummer in dem Jahr, in dem das Datum fällt. In diesem Szenario die zweite Februarwoche ist es wieder 6
die 6. Woche des Jahres darstellt
Vorbei an der date_week_num
und die day
zum Date.commercial
ermöglicht es uns, die date
getestet es mit ein paar Tagen zu finden und funktioniert gut . Sie könnten wahrscheinlich die Variablennamen ändern. Hoffe das löst deine Herausforderung
Vielen Dank Black Enigma! Das funktioniert sehr gut! –
Kein Problem, gerne helfen! –