Tengo una columna de fecha y hora en la base de datos que quiero transformar en una fecha simple cuando se la muestro a los usuarios.
¿Cómo puedo hacer eso?
def fecha_de_mostrada # to_date no existe, pero es lo que estoy buscando self.date || self.exif_date_time_original.to_date final
ruby-on-rails
ruby
datetime
collimarco
fuente
fuente
Respuestas:
DateTime#to_date
existe con ActiveSupport:fuente
.to_date()
no esté presente en el rubí estándar, así que tenemos que hacer una solución. La conversión de DateTime a Date con una cadena de zona horaria correcta (!!!) no es elegante. Comprender los aspectos internos de DateTime y Date no es fácil. ¡Solo arrasando, ignora! :-)Hola collimarco :) puedes usar el método ruby strftime para crear tu propia visualización de fecha / hora.
time.strftime (cadena) => cadena
fuente
En Ruby 1.9.2 y superior, agregaron una función .to_date a DateTime:
http://ruby-doc.org/stdlib-1.9.2/libdoc/date/rdoc/DateTime.html#method-i-to_date
Este método de instancia no parece estar presente en versiones anteriores como 1.8.7.
fuente
Para Ruby antiguo (1.8.x):
fuente
Recientemente escribí una joya para simplificar este proceso y mejorar sus puntos de vista, etc., etc.
Compruébelo en: http://github.com/platform45/easy_dates
fuente
Intente convertir la entrada en una cadena primero. Siempre que el tipo de columna de la base de datos sea una fecha, se formateará como una fecha.
self.date || self.exif_date_time_original.to_s
fuente