Date y Date

Iniciado por danielo-, 8 Agosto 2013, 19:03 PM

0 Miembros y 1 Visitante están viendo este tema.

danielo-

jajaja me pasa algo curioso al jugar con las fechas en java... alguien puede ¿explicarme que pasa?

Código (java) [Seleccionar]

java.util.Date today2 = new java.util.Date();
calendario.setTime(today2);
calendario.add(Calendar.MONTH, 1);
calendario.set(calendario.get(Calendar.YEAR), calendario.get(Calendar.MONTH), 1,0,0,0);
today2 = calendario.getTime();
System.out.println(today2);

java.util.Date today = new java.util.Date();
today = new java.util.Date(today.getYear(), SetMes(today.getMonth()+1), 1 );
System.out.println(today);

System.out.println(today.getTime() == today2.getTime()); //Esto da false, cuando según yo, debiera ser true =S

danielo-

Ya ubique porque.

Código (java) [Seleccionar]

today = new java.util.Date(today.getYear(), SetMes(today.getMonth()+1), 1 );


Me llena una nueva fecha con los parámetros que yo le paso, dejandome las horas, minutos segundos y milisegundos a 0.

Mientras que

Código (java) [Seleccionar]

java.util.Date today2 = new java.util.Date();
calendario.setTime(today2);
calendario.add(Calendar.MONTH, 1);
calendario.set(calendario.get(Calendar.YEAR),calendario.get(Calendar.MONTH), 1,0,0,0);

se queda con los valores que se le pasaron en un principio, incluyendo los milisegundos que es lo que causa la diferencia, lo curioso esque el método
Código (java) [Seleccionar]

calendario.set(calendario.get(Calendar.YEAR),calendario.get(Calendar.MONTH), 1,0,0,0);

solo me deja definir horas, minutos y segundos, y los milisegundos no, con el método calendario.clear() se puede poner los milisegundos a 0... pero ¿que pasaría si por algun motivo tuviera que definir milisegundos? ... :rolleyes:

~ Yoya ~

Lo de utilizar getTime, para comparar la fecha no lo veo muy bien, ya que aveces solo quieres comparar el año, mes, dia y quizas hora o bueno solo 1 o 2 campos, pero si utilizas getTime entonce se tomara en cuenta hasta los segundo...

How To Compare Dates In Java
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.