[Gvsig_usuarios] Fechas

Francisco Puga fpuga en cartolab.es
Jue Feb 18 18:29:47 CET 2010


He estado mirando esto un poco por encima, igual este mail estaría mejor en
la lista de desarrollo pero por seguir este hilo.

La cuestión es que a la hora de guardar una fecha en un campo DATE tanto
desde la tabla de gvSIG como desde Navtable para reconocer la fecha se acaba
llamando al método

ValueFactory.createValueByType

en este método se detecta la fecha mediante una llamada a Date.parse[1] que
en Java 1.5 está deprecated y por tanto sería conveniente cambiarlo. Esto
significa que las fechas se pueden introducir en cualquiera de los formatos
que este método entiende, por ejemplo es válido usar:

- Sat, 12 Aug 1995 13:30:00 GMT
- 2010/02/18
- .....

pero en el dbf sólo se guarda la fecha (no la hora). De hecho en el dbf se
guarda como una cadena de texto de la foma AAAAMMDD (es decir 20100218) sin
guiones ni nada por el estilo.


A la hora de mostrar los datos en la tabla gvSIG hace algo como esto

String str = "" + (date.getMonth() +1) + "/" + date.getDate()+ "/"
+(date.getYear() +1900);

de modo que la muestra en ese formato de MM/DD/AAAA. El problema es que esos
métodos que se están usando de getMonth, y demás también están deprecated.

En cambio Navtable los muestra como bien dices como AAAA-MM-DD. Pero al
margen de como se muestre la información los valores son correctos, pero hay
que leerlo de la forma adecuada.

Ahora no puedo probar lo del filtro pero te diría que en probases al hacer
la consulta a construírla como AAAA/MM/DD y no como "01-ene-2004" porque
igual no lo está reconociendo.

Supongo que idealmente, lo que se podría hacer es que en función del idioma
escogido por el usuario o algo así (localización de la aplicación, vamos),
la fecha se mostrara en el formato más habitual del país, por ejemplo en
España DD/MM/AAAA. Como esto es complicado supongo que a modo de solución
parcial podriamos unificar la forma en que se muestra en NavTable y en gvSIG
en función de cual sea la opción preferida por la mayoría de usuarios. Desde
mi punto de vista personal creo que como lo hace navtable AAAA-MM-DD lleva a
menos confusiones que MM/DD/AAAA puesto que así se puede confundir
facilmente con DD/MM/AAA.

saludos

[1]
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html#parse(java.lang.String)

El 16 de febrero de 2010 18:46, Francisco Puga <fpuga en cartolab.es> escribió:

> hola Jimena,
>
> creo que sé por donde podrían ir los tiros pero para asegurarnos sería
> posible que nos enviaras un .dbf de ejemplo. Con que tenga una o dos
> filas es suficiente. Indicanos también cual era la fecha que tu
> esperabas que contuviese cada fila.
>
> un saludo.
>
> El día 15 de febrero de 2010 12:36, Jimena Duarte
> <jimenaduartedevilla en gmail.com> escribió:
> > Hola
> >
> > Tengo problemas con las fechas.
> >
> > Uso el gvSIG 1.9 y las fechas me salen como mes/dia/año. Tenía una tabla
> > puesta con dia/mes/año se me ha cambiado toda. y en NavtTable tengo que
> > poner año-mes-dia, aunque luego sale en la tabla como mes/dia/año.
> >
> > Si hago un filtro y por ejemplo pongo: FECH_NAC < Date(01-ene-2004), me
> > dice: Error en la expresión null
> >
> > Muchas gracias
> > _______________________________________________
> > gvSIG_usuarios mailing list
> > gvSIG_usuarios en listserv.gva.es
> >
> > Para ver histórico de mensajes, editar sus preferencias de usuario o
> darse
> > de baja en esta lista, acuda a la siguiente dirección:
> >
> > http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
> >
> >
>
>
>
> --
> Francisco Puga
> Cartolab - Laboratorio de Ingeniería Cartográfica.
> http://www.cartolab.es
>
> ETS Ingeniería de Caminos, Canales y Puertos
> Universidade da Coruña
> Campus de Elviña - 15071 A Coruña (España)
> (34)981167000 ext. 5493
>



-- 
Francisco Puga
Cartolab - Laboratorio de Ingeniería Cartográfica.
http://www.cartolab.es

ETS Ingeniería de Caminos, Canales y Puertos
Universidade da Coruña
Campus de Elviña - 15071 A Coruña (España)
(34)981167000 ext. 5493
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20100218/3c9ac473/attachment.htm 


Más información sobre la lista de distribución gvSIG_usuarios