fhola después de buscar en varios foros encontraba que se utilizaba la clase Date para obtener las fechas, pero revisando con mi versión del JDK e. 1.5, varios métodos de ésta clase se han dejado Deprecated, pasando a una nueva clase Calendar, la cual sirve para tratar con fechas y ahcer operaciones entre fechas.

Los pasos para obtener la fecha Actual es simplemente:

Si el SimpleDateFormat es bastante potente, aqui el Javadoc (http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html), a continuación un ejemplo:

import java.text.SimpleDateFormat;
import java.util.Date;
public class TestSDF {
public static void main(String args[]) {
SimpleDateFormat[] sdfs = {
new SimpleDateFormat("dd-MM-yyyy h:mm a"),
new SimpleDateFormat("dd/MMM/yy HH:mm:ss"),
new SimpleDateFormat("EEEE dd 'de' MMMM 'de' yyyy h:mm:ss:SSS")
};
int numItera = 5;
for (Date d = new Date();;d = new Date(d.getTime()+1468800000)) {//3600000
for (SimpleDateFormat sdf : sdfs) {
System.out.println(sdf.format(d));
}
if (--numItera==0) break;
}
}
}

Que produce como salida cosas como:
28-03-2006 12:13 AM
28/mar/06 00:13:01
martes 28 de marzo de 2006 12:13:01:511

Tener en cuenta que sale en español porque Java toma por defecto la configuracion del computador, si digamos se tratara de un Windows en ingles y uno quisiera especificarlo explicitamente tendria que poner un parametro adicional en el constructor que seria algo como new Locale(“es”,”CO”) para español, Colombia.
paracelso
29-03-2006, 05:39 PM
Buenas, primero que todo les comento que juanerasmoe tiene razón; mucho ojo con los métodos deprecated; usarlos causa problemas tanto a la hora de usarlos como mas adelante si se piensa empaquetar para usar en otros proyectos que probablemente usen otra version de Java. La vía correcta para usar fechas en Java es con Calendar así:
Calendar myCalendar = Calendar.getInstance();
Ademas se puede pasar por parámetro el Timezone para crear calendarios con corrimiento GMT.
Si quieren “Setear” el calendario se usa:
myCalendar.set(Calendar.YEAR,myYear);
myCalendar.set(Calendar.MONTH,myMonth);
myCalendar.set(Calendar.DAY_OF_MONTH,myDay);
myCalendar.set(Calendar.HOUR_OF_DAY,0);
myCalendar.set(Calendar.MINUTE,0);
myCalendar.set(Calendar.SECOND,0);
myCalendar.set(Calendar.MILLISECOND,0);

Con get para extraer los valores y con add para adicionar elementos a un valor; así:
myCal1.add(Calendar.MINUTE,myCal2.get(Calendar.MIN UTE));//agrega los minutos de myCal2 a myCal1

Verificando en la clase Calendar encontrarán como constantes todos los elementos que pueden obtener ó setear.

Para usar el calendario como “Fuente” para otras clases como Timestamp (muy usado para bases de datos) ó Date se puede leer el valor en milisegundos, así:
Timestamp date = new Timestamp(myCalendar.getTimeInMillis());

En conclusion: siempre es mejor usar el Calendar cuando se necesitan operaciones con fechas. Luego de usarlo se puede exportar el valor en milisegundos para lo que se necesite.
juanerasmoe
30-03-2006, 01:21 AM
igual hay metodos para pasar de Calendar a Date y de Date a Calendar…