Formateo de fechas en Ruby on Rails

18 de Marzo, 2008 — Ruby on RailsComentarios (2)

18-3-2008: Actualizado para Rails 2

Una manera fácil de dar el formato que más nos guste a las fechas es hacerlo una a una utilizando strftime:

<%= post.created_at.strftime("%d-%m-%Y") %>

Eso esta muy bien para formatear un par de fechas, pero para toda una aplicación hay que encontrar un método de hacerlo automáticamente. Para eso creamos un archivo en el directorio config/initializers/ que formaterá las fechas de nuestra aplicación, le podemos poner el nombre que más nos guste, yo siempre utilizo date_format.rb y añadimos:

ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS[:default]='%d-%m-%Y %H:%m'

Con esto convertiremos todas las fechas que aparezcan en las vistas al formato “03-11-2008 22:34″

Si necesitamos varios formatos de fecha podemos hacerlo de la siguiente manera:

ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
:default => >%d.%m.%Y',
:my_format_1 => '%d/%m/%Y - %H:%M',
:my_format_2 => '%l:%M %p, %B %d, %Y',
:my_format_3 => '%d/%m/%Y')

:default es la manera por defecto como se mostrarán las fechas. Las variables my_format_x indican diferentes maneras que utilizaremos para formatear las fechas. Una vez hecho esto, cuando queramos escribir una fecha, lo haremos de la siguiente manera: supongamos un modelo u objeto llamado “Evento”, que en la tabla tiene un campo que se llama “fecha” de tipo DATE, para ver la fecha correctamente escribiremos:

<%=h Evento.fecha.to_s(:my_format_3) %>

Si el campo es DATETIME podemos utilizar el formato 1

<%=h Evento.fecha.to_s(:my_format_1) %>

Si no especificamos nada, utilizará el formato definido en :default

Así­ de fácil!

Añadir servicios a init.d en Debian/Ubuntu

10 de Marzo, 2008 — LinuxComentarios (1)

Esta es una de esas cosas que no se me graban en la memoria, así que lo anoto aquí y a lo mejor le puede servir a alguien.

Cuando queremos añadir algun servicio a init.d para que se inicie cuando arranque la máquina y lo tengamos disponible como demonio, únicamente tenemos que colocar el script de inicio en el directorio /etc/init.d, darle permisos de ejecución y ejecutar:

sudo update-rc.d nombre_del_script defaults

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. | Emili Parreño