Esta pregunta estaba aquí para otros idiomas, así que vamos a ser uno para Ruby.¿Cómo se calcula cuántos años pasaron desde una fecha determinada en Ruby?
¿Cómo calculo la cantidad de años completos que han transcurrido desde una fecha determinada? Como probablemente haya adivinado, eso es para calcular la edad de la persona automáticamente. El más cercano es distance_of_time_in_words
rieles ayudante, por lo que la plantilla siguiente
Jack is <%= distance_of_time_in_words (Time.now, Time.local(1950,03,22)) %> old.
produce
Jack is over 59 years old.
pero necesito más precisa la función que produce solo número. ¿Hay alguno?
Si existe algún tipo de función auxiliar de Ruby on Rails para esto, esto está bien, aunque la solución pura de Ruby sería mejor.
Editar: la esencia de la pregunta es que se necesita una solución no aproximada. En el 2 nd de marzo, Jack debería tener 59 años y al día siguiente debería tener 60 años. Los años bisiestos y tal deben ser tomados en cuenta.
Parece que no solo ha respondido la pregunta, sino que también ha formulado la pregunta de una mejor manera :-) –
+1, pero ¿y si hubiera nacido, digamos Date.new (1980, 2, 29)? ;-) –
@Mike Bummer: no hay cumpleaños para ti. Buen punto. Solucionado el código. – FMc