Manejo de fecha y milisegundos

A todos tarde o temprano nos ha tocado trabajar con fechas, si, esos objetos super poderosos a los cuales si no tenemos muy claro como manejarlos de forma adecuada puede ser tedioso y complicado lidiar con ellos, sin embargo hoy intentaremos explicar un par de cosas para hacernos la vida mas fácil ¿Alguna vez se han preguntado que diablos significa el numerito (long) en milisegundos que tiene una fecha? Pues indica los milisegundos que han pasado desde 31 de Diciembre de 1969 a las 18:00:00 Buena precisión ¿No? Veamos un ejemplo:


public static void main(String[] args) {   
   //Así comprobamos que el milisegundo cero equivale
    // a la fecha donde se comienza a contar
    Date fecha= new Date(0);
    System.out.println("Fecha:"+fecha);
}
  
¿Qué sucede si queremos poner una fecha anterior a 1969? Veamos otro ejemplo:
public static void main(String[] args) {   
   //En este caso usamos un número negativo para indicar 
    // una fecha anterior al 31 de Diciembre de 1969 a las 18:00:00
    Date fechaActual= new Date(-60000);
    System.out.println("Fecha:"+fechaActual);
}
  
Bueno ya que sabemos como funcionan los milisegundos con un par de lineas podemos convertir una fecha en milisegundos:
 
public static void main(String[] args) {   
   //Creamos Un objeto calendario y usamos el método
    //getInstance() para obtener la fecha actual del sistema
    Calendar calendario= Calendar.getInstance();
    //Creamos un Date para pasarle la fecha actual.
    Date fechaActual= calendario.getTime();
    //Mostramos los milisegundos que han pasado hasta la fecha actual (Desde 1969...)
    System.out.println("Fecha en milisegundos Date:"+fechaActual.getTime());
    //Si no necesitamos usar un objeto Date podemos usar 
    //Directamente el objeto de calendar para obtener los milisegundos
    System.out.println("Fechaen en milisegundos Calendar:"+calendario.getTimeInMillis());
}

Post a Comment

Artículo Anterior Artículo Siguiente