Tipo de columna para fechas


#1

Necesito crear un campo fecha en una tabla para luego poder ordenar por
ese campo. Al hacer la migración he visto que hay 3 tipos de datos fecha:

  • date
  • datetime
  • timestamp

He probado el timestamp, y luego con Time.now le adjudico la fecha y me
crea algo como 2007-05-08 17:33:25, se podrá hacer así, era simplemente
por ver qué tipo usais para ordenar, si el más correcto es timestamp y
si está bien usado el Time.now o hay otras maneras de hacerlo, gracias


#2

La verdad es que yo sólo he usado timestamp, pero supongo que será el
más común porque se utiliza para guardar automáticamente la fecha en que
se crea una fila. Es decir, que si creas una columna con el nombre
“created_at” y de tipo timestamp el solito guardará la fecha cuando
grabes una fila (no tienes que hacer el Time.now). La declaración de la
columna en la migración sería:
t.column :created_at, :timestamp

Espero que te haya servido de algo :wink:

Saludos.


#3

Hola Miguel Angel, te explico la diferencia entre los tres
date: guarda la fecha
datetime: guarda la fecha y la hora
timestamp: es el número de segundos que han transcurrido desde las 0
horas del 1 de enero de 1970 GMT. Eso quiere decir que timestamp es una
medida en segundos.

Queda descartado el timestamp por que no es una fecha en formato
natural.

Entre los otros dos, pues deberás elegir si quieres disponer de hora o
no. Yo te aconsejo que utilices datetime. Siempre sabrás la fecha
exacta.

Hace algún tiempo escribí en mi blog como formatear las fechas en RoR

http://www.eparreno.com/ruby-on-rails/formateo-de-fechas-en-ruby-on-rails/

Miguel Angel Calleja Lázaro wrote:

Necesito crear un campo fecha en una tabla para luego poder ordenar por
ese campo. Al hacer la migraci�n he visto que hay 3 tipos de datos fecha:

  • date
  • datetime
  • timestamp

He probado el timestamp, y luego con Time.now le adjudico la fecha y me
crea algo como 2007-05-08 17:33:25, se podr� hacer as�, era simplemente
por ver qu� tipo usais para ordenar, si el m�s correcto es timestamp y
si est� bien usado el Time.now o hay otras maneras de hacerlo, gracias


#4

que tal lista, disculpen alguien sabe de alguna forma para monitorizar
registros por ejemplo cada mes de que fueron dados de alta??

Gracias !


Nuevo Messenger www.prodigy.msn.com Windows Live Messenger en
Prodigy/MSN


#5

On May 15, 2007, at 8:16 PM, Emili Parreño wrote:

Hola Miguel Angel, te explico la diferencia entre los tres
date: guarda la fecha
datetime: guarda la fecha y la hora
timestamp: es el número de segundos que han transcurrido desde las 0
horas del 1 de enero de 1970 GMT. Eso quiere decir que timestamp es
una
medida en segundos.

En realidad :timestamp y :datetime son sinonimos. Ciertamente se
ofrecen como tipos potencialmente distintos, pero a la practica
mapean a lo mismo en las bases de datos. Esto puedes verlo en la
figura 16.1 del Agile

Figure 16.1: Migrationand Database Column Types

Hacia arriba tambien coinciden porque AR los instancia como objetos
Time, vease el codigo en

activerecord/lib/active_record/connection_adapters/*

Eso que describiste suele llamarse “epoch” y no tiene tipo SQL propio
en general, los epochs, si se quieren, se guardan en columnas de tipo
entero.

– fxn


#6

¿Te refieres a registros de una base de datos?

¿Qué tal un observer que te envíe un mail cada vez que se inserta uno?


Fernando B.
blog > http://www.inwebwetrust.net


#7

no suelo quejarme de los emails teletipo… pero si la gente quiere
que la ayuden, por favor

1 - busquen antes en la lista, desde aquí http://www.ruby-forum.com/

2 - explicad bien, que es lo que os pasa y que quereis conseguir ( 3
líneas x lo menos no??? - sin incluir el saludo claro )

3 - intentar no tratar a la gente como máquinas contribuye al buen
rollito de la lista, recuerden que detrás de los emails hay personas,
entusiastas seguro, pero primero personas

supongo q esto ya se ha dicho muchas veces xo parece que nunca es
suficiente
saludetes!

marze

El 18/05/2007, a las 9:40, Fernando B.
escribió:

¿Te refieres a registros de una base de datos?


#8

ok, perdon por la poca
explicación.
Bueno el caso que tengo es que tengo una aplicación de prueba para un
Zoologico, entonces los encargados van registrado los animales que
llegan ya
sea por donacion o por decomiso de alguna autoridad. Entonces una ves
registrado el animal es necesario mantener un historial sobre dicho
animal.
Lo que yo pretendo es una vez que haya pasado algun tiempo (por ejemplo
un
mes) es que cuando el usaurio ingrese al sistema le aparzcan
recordatorios
sobre los animales que tiene que enviar información. Esto es lo que me
referia con monitorizar.

Y una disculpa a los q hice sentit como maquinas !

supongo q esto ya se ha dicho muchas veces xo parece que nunca es

Gracias !


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


El mejor destino, con los mejores contenidos http://www.prodigy.msn.com


#9

On Friday 18 May 2007 17:59:26 Marze wrote:

entusiastas seguro, pero primero personas

A lo que yo añadiría:

  1. no “secuestrar” hilos (como sugería alguien el otro día). Creo que todos
    los que usamos “anidamiento” en nuestro cliente de correo-e estaríamos
    profundamente agradecidos :stuck_out_tongue:

supongo q esto ya se ha dicho muchas veces xo parece que nunca es
suficiente
saludetes!

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: http://www.banot.net/~osoh/
blog: http://devnull.blogs.banot.net/


#10

On 5/18/07, salvador zalapa removed_email_address@domain.invalid wrote:

Y una disculpa a los q hice sentit como maquinas !
Supongo que la solución puede ser parecida a lo que hay otro hilo por
ahí de usuarios conectados, algo como:

Animal.find(:all, :conditions => [ “created_at < ?”, 1.month.ago ])

Lo malo es que eso te daría todos los animales que lleven más de un
mes (aunque lleven años). Supongo que la solución sería utilizar un
rango (los que lleven entre un mes y cinco semanas, por ejemplo), o
usar, en vez de created_at, un campo que se actualice cada vez que se
“revise” un animal.


Sergio Gil Pérez de la Manga
e-mail > removed_email_address@domain.invalid
blog > http://www.lacoctelera.com/porras