Je suis sûr qu’il existe une ligne simple et élégante dans Ruby qui vous indique le nombre de jours d’un mois donné, par année, comme "février 1997". Qu'Est-ce que c'est?
Réponses
Trop de publicités?Si vous travaillez dans les Rails, les chances sont que vous aurez paralysées finalement, si vous basculez entre les Time
, Date
, et DateTime
, surtout quand il s'agit de traiter avec UTC/les fuseaux horaires, heure d'été, et la comme. D'après mon expérience, il est préférable d'utiliser Time
, et le bâton avec elle partout.
Donc, en supposant que vous êtes à l'aide de Rails est Temps de classe, il y a deux bonnes options, selon le contexte:
-
Si vous avez un mois
m
et l'annéey
, utiliser la méthode de la classe surTime
:days = Time.days_in_month(m, y)
-
Si vous avez un objet de Temps
t
, nettoyeur de demander le numéro du jour de la dernière journée du mois:days = t.end_of_month.day
Je ne connais pas encore Ruby, alors je ne sais pas si cette fonctionnalité était disponible lorsque Mike Wade a répondu. (Aurait commenté sa réponse mais ne pense pas que j'ai assez de représentant pour le faire.)
require 'date'
def days_in_month(year, month)
Date.new(year, month, -1).day
end
# print number of days in Feburary 2012
puts days_in_month(2012, 2)