3 votes

Ruby/Rails obtenir la date de début et de fin d'une semaine donnée d'une année

Sur la base du document, j'ai pu obtenir le numéro de la semaine en cours de l'année en cours :

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

Mais j'ai besoin de méthodes qui me permettent de récupérer la date de début, la date de fin d'un numéro de semaine donné. Dans cet exemple : 2016/06/06 -> 2016/06/12

Une idée ?

4voto

PSantos Points 77

Je pense que vous avez besoin d'utiliser la méthode ::commercial de la classe Date comme ceci.

require 'date'

week = 23
start_week = Date.commercial(2016, week, 1)
# => #

end_week = Date.commercial(2016, week, 7)
# => #

Et si vous voulez afficher comme dans votre exemple, faites:

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

Référence: http://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/Date.html#method-c-commercial

0voto

Dinesh Saini Points 470

Veuillez utiliser les fonctions ci-dessous :

Date.now.beginning_of_week
Date.now.end_of_week

0voto

dr. strange Points 493
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')}"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X