En esta página:
Si estas trabajando con Ruby on Rails, manejando fechas y necesitas cambiar el formato de las fechas es muy sencillo, Ruby on Rails nos ofrece varios métodos para formatear la fecha y la hora al formato que deseemos, veamos en este artículo más detalles.
En primer lugar para imprimir la fecha y hora en nuestra vista usamos la función Time.now que nos provee RoR (Ruby on Rails)
1 2 3 4 5 6 7 |
# Escribimos <%= Time.now %> # Obtenemos 2018-08-14 10:16:24 -0500 |
Si queremos formatear la fecha y hora en un formato mas amigable y entendible usaremos el método strftime seguido de las expresiones %F y %T en donde %F es la fecha y %T es el tiempo
1 2 3 4 5 6 7 |
# Escribimos <%= Time.now.strftime("%F %T") %> # Obtenemos 2018-08-14 10:16:24 |
Para trabajar directamente con la fecha podemos usar %Y %m %d en donde %Y es el año, %m es el mes y %d es el día, por ejemplo si queremos cambiar el orden de la fecha en donde queramos mostrar primer el día luego el mes y al final el año, obtenemos un formato mas real y amigable
1 2 3 4 5 6 7 |
# Escribimos <%= Time.now.strftime("%d-%m-%Y %H:%M") %> # Obtenemos 14-08-2018 10:16 |
Si deseas trabajar específicamente con el tiempo, puedes dejar que imprima la fecha normal con %F y para la hora, minuto y segundo usarás %H : %M : %S en donde %H es la hora, %M es el minuto y %S es el segundo, con estos selectores del tiempo puedes manipular tanto la hora, segundo y minuto para el objetivo que desees, por ejemplo vamos a imprimir solo la hora y minuto y excluimos el segundo %S
1 2 3 4 5 6 7 |
# Escribimos <%= Time.now.strftime("%F %H:%M") %> # Obtenemos 2018-08-14 10:16 |
Y si necesitas imprimir en el idioma local que detecta el navegador, en este caso español, puedes hacer uso de la Gema I18n que viene incluida en el core de las últimas versiones de Ruby on Rails, la hora la podemos crear con strftime y mostramos si es PM o AM con %p
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# Escribimos Hoy es: <br> <%= I18n.l(Date.today, format: '%A, %d de %B de %Y') %> <br><br> Hora: <br> <%= Time.now.strftime("%H:%M") %> # Obtenemos Hoy es: martes, 14 de agosto de 2018 Hora: 12:35 |
Como puedes ver es muy sencillo trabajar con Fechas y Horas en Ruby on Rails, puedes revisar más formatos con la función strftime en este enlace.
Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.