La clase Date

FrankPi
28 de Junio del 2004
Hola, por motivos profesionales he de aprender a utilizar Java por mi cuenta y riesgo. Estoy siguiendo un par de tutoriales, y en un ejemplo tengo un par de problemas. Expongo el primero aquí, y ya explicaré otro día el segundo.
Mi primer problemo es que defino un objeto de la clase Date, y le pido el día, mes y año con los métodos getDay, getMonth y getYear.
El día lo devuelve bien, el mes me da el mes anterior, y el año me da 104 en vez del 2004. ¿Alguien sabe lo que está pasando?
Gracias por adelantado.

maramonar
28 de Junio del 2004
ojo que esos métodos de la clase Date son "deprecated"...tendría que usar la clase Calendar para trabajar con fechas..
java.util.Calendar cal = java.util.Calendar.getInstance();
System.out.println("Día:"+cal.get(java.util.Calendar.DATE)+" mes:"+(cal.get(java.util.Calendar.MONTH)+1)+" año:"+cal.get(java.util.Calendar.YEAR));

Los meses van de 0 a 11 por eso se le agrega 1...si, ya sé, una porquería....pero es lo que hay....

FrankPi
28 de Junio del 2004
Gracias a los dos. Ahora ya funciona. (¿Qué significa deprecated?) O sea, que en vez de utilizar la clase Date, hay que utilizar la clase Calendar.
PD: Los métodos DATE, MONTH, YEAR, son por lo que he visto, staticos? Para la hora que clase seria?

maramonar
28 de Junio del 2004
1-deprecated: métodos que todavía son soportados por una determinada versión pero que en futuras versiones probablemente no se sigan soportando..
2-consultar el API...:)

astur
28 de Junio del 2004
Mediante la clase Date obtienes la fecha a partir de 1970, esta fecha obtenida no se encuentra actualizada(no corresopnde con el dira y hora actual). Para obtener la fecha actual es necesario empelar otras clases. Supongo que habra muchas mas formas.
Si declaras un objeto de tipo Calendar y luego mediante getInstance() obtiens una instacia de dicho objeto(la clase es abstracta por tanto no se pueden crear objetos). Dicho objeto contiene la fecha y hora actual.Mediante la clase Date o las clases DateFormat puedes obtener el formato deseado para la fecha actual.