Bienvenidos sean a este post, hoy veremos un metodo de la clase Date.
Nota:
Esta clase como este metodo ya son obsoletos pero aun pueden usarse. Para ello, deben usar la opcion -Xlint al momento de compilarlo.
Este metodo devuelve un objeto Date pero a partir de un objeto Instant. Veamos como es su sintaxis:
Date.from(Objeto_Instant);
Desde la clase llamamos al metodo y como argumento pasamos al objeto de tipo Instant. Los objetos de tipo Instant tiene una mejor precision porque utilizan nanosegundos, a diferencia de Date que utiliza milisegundos. Al momento de la conversion, toda informacion excesiva sera truncada. Una ventaja que posee con respecto a Date, es que puede almacenar valores mas alla del futuro o del pasado pero esto puede conllevar a una excepcion. Analicemos el siguiente ejemplo:
import java.time.Instant;
import java.util.Date;
public class Fecha
{
public static void main(String[] args)
{
try
{
Date fecha = Date.from(Instant.now());
System.out.println("fecha: " + fecha);
} catch(IllegalArgumentException e) {
System.out.println("El instante es demasiado grande");
}
}
}
Usaremos un try/catch para manejar cualquier excepcion que pueda surgir. Dentro del try creamos un objeto de tipo Date con el metodo. Como argumento pasamos el now de Instant, este le pasara el momento actual cuando ejecutamos el codigo. Y por ultimo, mostramos el valor asignado a fecha. El catch sera por si es lanzada la excepcion encargada de monitorear que el instante sea demasiado grande. Compilemos y veamos como es la salida:
$ java Fecha
fecha: Thu Jan 30 23:42:49 ART 2025
$
Nos genero un objeto con la fecha y hora del momento que fue ejecutado. Volvamos al codigo anterior y busquemos la siguiente linea:
Date fecha = Date.from(Instant.now());
Y modifiquemosla de la siguiente manera:
Date fecha = Date.from(Instant.MAX);
Esta constante en lugar de usar el momento actual, procede a utilizar el valor maximo que podamos asignar. Si lo compilan no devolvera ningun error pero cuando lo ejecuten sucedera lo siguiente:
$ java Fecha
El instante es demasiado grande
$
Como mencionamos, cuando esta situacion ocurre lanza una excepcion indicando esto. Como nosotros tenemos un catch para capturar esta excepcion nos devuelve el mensaje que existe en el mismo.
En resumen, hoy hemos visto a Date.from, que es, para que sirve, como se utiliza, un ejemplo para ver como trabaja y otro para ver la excepcion que puede lanzar. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donation
It’s for maintenance of the site, thanks!
$1.50
