En internet uno de los temas que enseguida te das cuenta es que las fechas absolutas no tienen sentido ya que debido al cambio horario poca gente encontrarás que le coincida. Por tanto es muy útil mostrar el tiempo que ha pasado desde que se ha actualizado un determinado elemento. Asi cualquier persona que lo lea si que tendrá una visión relativa y útil de lo que ha pasado.
Os adjunto una función muy casera que he desarrollado por si alguien la quiere utilizar:
def diff_date_to_words(datec,language)
result=”
diff=Time.now-datec
daysc=(diff/(60*60*24)).to_int
hoursc=((diff/(60*60*24)-daysc)*24).to_int
minutesc=((((diff/(60*60*24)-daysc)*24)-((diff/(60*60*24)-daysc)*24).to_int)*60).to_int
secondsc=((((((diff/(60*60*24)-daysc)*24)-((diff/(60*60*24)-daysc)*24).to_int)*60)-((((diff/(60*60*24)-daysc)*24)-((diff/(60*60*24)-daysc)*24).to_int)*60).to_int)*60).to_int
monthsc=(daysc/30).to_int
if language==’En’ then
result = daysc.to_s + ‘ days, ‘+hoursc.to_s+’ hours, ‘+minutesc.to_s+’ minutes and ‘+secondsc.to_s+’ seconds ago’
if daysc==1 and hoursc<2 then
result==’Yesterday’
end
if daysc==0 and hoursc<1 and minutesc<1 and secondsc<20 then
result==’now’
end
if daysc==0 then
result = hoursc.to_s+’ hours, ‘+minutesc.to_s+’ minutes and ‘+secondsc.to_s+’ seconds ago’
end
if daysc==0 and hoursc==0 then
result =minutesc.to_s+’ minutes and ‘+secondsc.to_s+’ seconds ago’
end
if daysc==0 and hoursc<1 and minutesc<1 and secondsc>=20 then
result =secondsc.to_s+’ seconds ago’
end
if daysc>7 then
result = daysc.to_s + ‘ days, ‘+hoursc.to_s+’ hours and ‘+minutesc.to_s+’ minutes ago’
end
if daysc>365 then
result = ‘more than one year ago’
end
if monthsc>2 and daysc<365 then
result=monthsc.to_s+’ months ago’
end
result
end
end
Simplemente poniéndola en vuestro application helper podréis mostrar fechas en formato letras y con tiempo relativo.
p.e:
1 minute and 3 seconds ago
Veréis que hay una variable language pero sólo está implementada en inglés.
Espero que sea de vuestra utilidad.
Popularity: 1% [?]
ras. Pero este hombre consigue sorprender e innovar como nadie. Ver la presentación que ha hecho presentando los nuevos iPods y el iPod Touch que es un simil del iPhone…

