Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: danielo- en 8 Agosto 2013, 19:03 PM

Título: Date y Date
Publicado por: danielo- en 8 Agosto 2013, 19:03 PM
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
Título: Re: Date y Date
Publicado por: danielo- en 8 Agosto 2013, 19:28 PM
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:
Título: Re: Date y Date
Publicado por: ~ Yoya ~ en 11 Agosto 2013, 18:32 PM
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 (http://www.mkyong.com/java/how-to-compare-dates-in-java/)