Foro de elhacker.net

Programación => 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
  1. java.util.Date today2 = new java.util.Date();
  2. calendario.setTime(today2);
  3. calendario.add(Calendar.MONTH, 1);
  4. calendario.set(calendario.get(Calendar.YEAR), calendario.get(Calendar.MONTH), 1,0,0,0);
  5. today2 = calendario.getTime();
  6. System.out.println(today2);
  7.  
  8. java.util.Date today = new java.util.Date();
  9. today = new java.util.Date(today.getYear(), SetMes(today.getMonth()+1), 1 );
  10. System.out.println(today);
  11.  
  12. System.out.println(today.getTime() == today2.getTime()); //Esto da false, cuando según yo, debiera ser true =S
  13.  


Título: Re: Date y Date
Publicado por: danielo- en 8 Agosto 2013, 19:28 pm
Ya ubique porque.

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

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
  1. java.util.Date today2 = new java.util.Date();
  2. calendario.setTime(today2);
  3. calendario.add(Calendar.MONTH, 1);
  4. calendario.set(calendario.get(Calendar.YEAR),calendario.get(Calendar.MONTH), 1,0,0,0);
  5.  
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
  1. calendario.set(calendario.get(Calendar.YEAR),calendario.get(Calendar.MONTH), 1,0,0,0);
  2.  
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/)