Codificación aprenderaprogramar.com: CU01163E
MÉTODOS PARA DAR FORMATO A FECHAS JAVASCRIPT
Los objetos de tipo Date disponen de otros métodos además de los que ya conocemos. Estos métodos nos permitirán representar la fecha como cadena de texto, especificando el formato en que queremos que se muestre (12 ó 24 horas, lenguaje, calendario empleado, etc.).
FORMATOS DE FECHAS JAVASCRIPT
Como métodos que facilitan mostrar información sobre los objetos tipo Date en un formato amigable para los humanos tenemos los indicados en la siguiente tabla. Para los ejemplos, hemos supuesto que nuestro computador tiene como hora local del sistema la de Moscú (Rusia), que es UMT+0300.
Como fecha de partida tomamos var fecha2050 = new Date('2050-12-25T23:30:00-0600'); que se corresponde con la hora de México D.F.
Esta fecha expresada como UMT es '2050-12-26T05:30:00+0000' y como hora local del sistema (considerando que es Moscú) '2050-12-26T08:30:00+0300'. Podemos comprobar que según el sistema con el que expresemos la fecha nos encontramos en unos casos en el día 25 de diciembre y en otros casos en el día 26 de diciembre.
Para buscar la lógica al manejo de fechas con JavaScript te recomendamos que tomes como referencia la fecha UTC, y a partir de ahí generar las horas locales (de sistema) que te resulten de interés.
MÉTODO |
UTILIDAD |
EJEMPLOS aprenderaprogramar.com |
toString() |
Devuelve una representación de la fecha donde día y mes están expresados en inglés |
fecha2050.toString(); // Mon Dec 26 2050 08:30:00 GMT+0300 (Hora de verano de Rusia) |
toDateString() |
Devuelve una representación abreviada de la fecha donde día y mes están expresados en inglés. |
fecha2050.toDateString(); // Mon Dec 26 2050 |
toISOString() |
Devuelve una representación de la fecha en formato ISO, que se corresponde con YYYY-MM-DDTHH:mm:ss.sssZ donde Y es año, M mes, D día, T un separador, H hora, m minuto, s segundos y milisegundos y Z indica que es un tiempo UTC. |
fecha2050.toISOString() // 2050-12-26T05:30:00.000Z |
toLocaleDateString() (*Sin Parámetros) |
Devuelve una representación de la fecha (día, mes y año) según la forma de expresar fechas que venga determinada por el tiempo del sistema del computador donde se ejecute. |
toLocaleDateString() // 26/12/2050 Nota: supuesto ejecutado en un computador con configuración estándar europea. |
toLocaleDateString (localizacion , options) (* Con parámetros) |
Localizacion (opcional) indica un array de datos de referencia para mostrar la fecha, por ejemplo es-ES para España, es-AR para Argentina… También se puede especificar calendario y otros aspectos. Options (opcional) es un array que indica opciones |
var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"}; alert(fecha2050.toLocaleDateString("es-ES", options)); // lunes, 26 de diciembre de 2050 |
toLocaleString() (*Sin Parámetros) |
Devuelve una representación de la fecha según la configuración local del computador donde se ejecute. |
fecha2050.toLocaleString(); // 26/12/2050 9:30:00 Nota: puede variar según configuración computador. |
toLocaleString (localizacion , options) (* Con parámetros) |
Localizacion (opcional) indica un array de datos de referencia para mostrar la fecha, por ejemplo es-ES para España, es-AR para Argentina… También se puede especificar calendario y otros aspectos. Options (opcional) es un array que indica opciones |
var options = {weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", hour12:"false"}; alert(fecha2050.toLocaleString("es-ES", options)); // lunes, 26 de diciembre de 2050 9 a. m. |
toLocaleTimeString() (*Sin Parámetros) |
Devuelve una representación de la hora según la configuración local del computador donde se ejecute. |
fecha2050.toLocaleTimeString(); // 9:30:00 Nota: puede variar según configuración computador. |
toLocaleTimeString() (* Con Parámetros) |
Localizacion (opcional) indica un array de datos de referencia para mostrar la fecha, por ejemplo es-ES para España, es-AR para Argentina… También se puede especificar calendario y otros aspectos. Options (opcional) es un array que indica opciones |
var options = {hour: "numeric", hour12:"false"}; alert(fecha2050.toLocaleTimeString("es-ES", options)); // 9 a. m. |
toTimeString() |
Devuelve una representación de la hora según el sistema americano. |
fecha2050.toTimeString() // 08:30:00 GMT+0300 (Hora de verano de Rusia) |
toUTCString() |
Devuelve la fecha UTC en formato dependiente de configuración del sistema, normalmente en inglés. |
fecha2050.toUTCString() ; // Mon, 26 Dec 2050 05:30:00 GMT |
valueOf() |
Devuelve un valor numérico que representa el número de milisegundos transcurridos desde el1 de enero de 1970 a las 00:00 UTC. |
fecha2050.valueOf(); // 2555645400000 |
EJERCICIO 1
Crea un script donde se calcule el tiempo en minutos entre que se formula primera petición al usuario y este responde, y entre una segunda petición al usuario y este responde. Ejemplo:
Introduzca su nombre: Alfredo >> Introduzca su país: Colombia >> Han pasado 0.122 minutos entre su primera y segunda respuesta.
Otro ejemplo: Introduzca su nombre: Juan >> Introduzca su país: Chile >> Han pasado 0.73 minutos entre su primera y segunda respuesta.
Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.
EJERCICIO 2
Crea un script donde pida al usuario que introduzca una primera fecha (fecha1) en formato dd-mm-yyyy, y una segunda fecha en el mismo formato y calcule los días que han pasado entre las dos fechas . Ejemplo: Introduzca la fecha 1: 05-09-2076 >> Introduzca la fecha 2: 09-09-2076 >> Entre las 00:00 horas del primer día a las 00:00 del segundo hay 4 días.
Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.