El método constructor de la clase Date es uno de los métodos constructores de clase principal más versátiles. Se puede llamar de cuatro formas distintas.
En primer lugar, si no se proporcionan parámetros, el constructor
Date()
devuelve un objeto Date que contiene la fecha y hora actuales, en la hora local correspondiente a la zona horaria. A continuación se muestra un ejemplo:
var now:Date = new Date();
En segundo lugar, si se proporciona un solo parámetro numérico, el constructor
Date()
trata dicho parámetro como el número de milisegundos transcurridos desde el 1 de enero de 1970 y devuelve un objeto Date correspondiente. Hay que tener en cuenta que el valor de milisegundos que se pasa se trata como milisegundos desde el 1 de enero de 1970, en UTC. Sin embargo, el objeto Date muestra los valores en la zona horaria local, a menos que se utilicen métodos específicos de UTC para recuperarlos y mostrarlos. Si se crea un nuevo objeto Date con un solo parámetro de milisegundos, hay tener en cuenta la diferencia de zona horaria entre la hora local y la hora universal UTC. Las siguientes sentencias crean un objeto Date establecido en la medianoche del día 1 de enero de 1970, en UTC:
var millisecondsPerDay:int = 1000 * 60 * 60 * 24;
// gets a Date one day after the start date of 1/1/1970
var startTime:Date = new Date(millisecondsPerDay);
En tercer lugar, se pueden pasar varios parámetros numéricos al constructor
Date()
. Estos parámetros se tratan como el año, mes, día, hora, minuto, segundo y milisegundo, respectivamente, y se devuelve un objeto Date correspondiente. Se supone que estos parámetros de entrada están en hora local y no en UTC. Las siguientes sentencias obtienen un objeto Date establecido en la medianoche del inicio del día 1 de enero de 2000, en hora local:
var millenium:Date = new Date(2000, 0, 1, 0, 0, 0, 0);
En cuarto lugar, se puede pasar un solo parámetro de cadena al constructor
Date()
. Este intentará analizar dicha cadena en componentes de fecha u hora, y devolver a continuación un objeto Date correspondiente. Si utiliza este enfoque, es una buena idea incluir el constructor
Date()
en un bloque
try..catch
para localizar cualquier error de análisis. El constructor
Date()
acepta una serie de formatos de cadena diferentes (que se incluyen en
Referencia de ActionScript 3.0 para la plataforma de Adobe Flash
). La siguiente sentencia inicializa un nuevo objeto Date con un valor de cadena:
var nextDay:Date = new Date("Mon May 1 2006 11:30:00 AM");
Si el constructor
Date()
no puede analizar correctamente el parámetro de cadena, no emitirá una excepción. Sin embargo, el objeto Date resultante contendrá un valor de fecha no válido.