Notas de estudio 7: tipo de referencia de fecha

Un valor de referencia (u objeto) es una instancia de un tipo de referencia específico. Los tipos de referencia a veces se denominan definiciones de objeto porque describen los atributos y métodos que deberían tener sus objetos. Se considera que un objeto es una instancia de un tipo de referencia particular. El nuevo objeto se crea utilizando el operador new seguido de un constructor. El constructor es la función que se utiliza para crear un nuevo objeto.

let now = new Date();

Esta línea de código crea una nueva instancia del tipo de referencia Fecha y la guarda en la variable ahora. Date () es el constructor aquí, y es responsable de crear un objeto simple con solo propiedades y métodos predeterminados. ECMAScript proporciona muchos tipos de referencia nativos como Date para ayudar a los desarrolladores a realizar tareas comunes.

El tipo de fecha guarda la fecha como el número de milisegundos que han transcurrido desde la medianoche a las 0:00 del 1 de enero de 1970 en UTC (hora universal coordinada). Con este formato de almacenamiento, el tipo de fecha puede representar con precisión las fechas anteriores y posteriores al 1 de enero de 1970 en 285.616 años.
Para crear un objeto de fecha, use el nuevo operador para llamar al constructor de fecha:

let now = new Date();

Sin pasar parámetros al constructor de fecha, el objeto creado guardará la fecha y hora actuales. Para crear fechas y objetos basados ​​en otras fechas y horas, debe pasar su representación de milisegundos (el número de milisegundos después de la medianoche del 1 de enero de 1970 en la época de UNIX). ECMAScript proporciona dos métodos auxiliares para este propósito: Date.parse () y Date.UTC (). El
método Date.parse () recibe un parámetro de cadena que representa la fecha e intenta convertir esta cadena en milisegundos que representan la fecha. La quinta edición de ECMA-262 define el formato de fecha que Date.parse () debe admitir:

  • "Mes / Día / Año", como "23/05/2019";
  • "Día del nombre del mes, año", como "23 de mayo de 2019";
  • "Semana, mes, nombre, día, año, hora: minuto: segunda zona horaria", como "Martes 23 de mayo de 2019 00:00:00 GMT-0700";
  • Formato extendido ISO 8601 "AAAA-MM-DDTHH: mm: ss.sssZ", como 2019-05-23T00: 00: 00.

Por ejemplo, para crear un objeto de fecha que represente "23 de mayo de 2019", puede utilizar el siguiente código:

let someDate = new Date(Date.parse("May 23,2019"));

Si la cadena que se pasará a Date.parse () no representa una fecha, el método devolverá NaN. Si pasa la cadena de fecha directamente al constructor Date, Date llamará a Date.parse () en segundo plano. En otras palabras, la siguiente línea de código es equivalente a la línea de código anterior.

let someDate = new Date("May 23,2019");

El método Date.UTC () también devuelve la representación de milisegundos de la fecha, pero usa información diferente de Date.parse () para generar este valor. Los parámetros pasados ​​a Date.UTC son año, número de meses desde cero (0 para enero, 1 para febrero, etc.), día (1 ~ 31), hora (0 ~ 23), minuto, segundo y milisegundo. De estos parámetros, solo se requieren los dos primeros (año y mes). Si no se proporciona ningún día, el valor predeterminado es 1 día. Los valores predeterminados de otros parámetros son todos 0.

//GMT时间2000年1月1日零点
let y2k = new Date(Date.UTC(2000,0));

//GMT时间2005年5月5日下午5点55分55秒
let allFives = new Date(Date.UTC(2005,4,5,17,55,55));

Como Date.parse (), Date.UTC () también es llamado implícitamente por el constructor Date. ECMAScript también proporciona el método Date.now (), que devuelve el número de milisegundos que representan la fecha y hora en que se ejecutó el método.

//起始时间
let start = Date.now();

//调用函数
doSomething();

//结束时间
let stop = Date.now();
result = stop-start;

(1) Métodos heredados
Como otros tipos, el tipo Date anula los métodos toLocaleString (), toString () y valueOf (). Pero a diferencia de otros tipos, estos métodos devuelven valores diferentes después de reescribir.
El método toLocaleString () de tipo Date devuelve la fecha y la hora de acuerdo con el entorno local donde se ejecuta el navegador.
El método toString () generalmente devuelve la fecha y la hora con información de la zona horaria.
El método valueOf () no devuelve una cadena en absoluto. Este método se reescribe para devolver la representación de milisegundos de la fecha. Entonces el operador puede usar directamente el valor que devuelve:

let date1 = new Date(2019,0,1); //2019年1月1日
let date2 = new Date(2019,1,1); //2019年2月1日

console.log(date1<date2);//true
console.log(date2<date1);//false

(2) Métodos de formato de
fecha El tipo de fecha tiene varios métodos que se utilizan específicamente para formatear fechas, todos los cuales devuelven cadenas

  • toDateString () muestra el día de la semana, mes, día y año en la fecha
  • toTimeString () muestra la hora, minuto, segundo y zona horaria en la fecha
  • toLoacaleDateString () muestra el día de la semana, mes, día y año en la fecha
  • toLocaleTimeString () muestra la hora, minuto y segundo en la fecha
  • toUTCString () muestra la fecha UTC completa

El resultado de estos métodos es el mismo que el de toLocaleString () y toString () y variará de un navegador a otro. Por lo tanto, no se puede utilizar para mostrar la fecha de forma coherente en la interfaz de usuario.
(3) Método de componente de fecha / hora

método Descripción
consigue tiempo() Devuelve la representación en milisegundos de la fecha, igual que valueOf ()
setTime (milisegundos) Establezca la representación de milisegundos de la fecha para modificar la fecha completa
getFullYear () Devuelve el año de 4 dígitos.
getUTCFullYear () Devuelve el año de 4 dígitos de la fecha UTC
setFullYear (año) Configure el año de la fecha (el año debe tener 4 dígitos)
setUTCFullYear (año) Establecer el año de la fecha UTC (el año debe tener 4 dígitos)
getMonth () Devuelve el mes de la fecha (0 significa enero, 11 significa diciembre)
getUTCMonth () Devuelve el mes de la fecha UTC (el mes es un valor mayor que 0, mayor que 11 más el año)
setMonth (mes) Configure el mes de la fecha (el mes es un valor mayor que 0, mayor que 11 años o más)
setUTCMonth (mes) Configure el mes en la fecha UTC (el mes es un valor mayor que 0, mayor que 11 más el año)
obtener la fecha() Devuelve el día de la fecha (1 ~ 31)
getUTCDate () Devuelve el día en fecha UTC (1 ~ 31)
setDate (fecha) Configure el día de la fecha (si la fecha es mayor que el número de días del mes, agregue el mes)
setUTCDate (fecha) Configure el día en la fecha UTC (si la fecha es mayor que el número de días del mes, agregue el mes)
getDay () Devuelve el valor numérico del día de la semana en la fecha (0 significa domingo, 6 significa semana 6)
getUTCDay () Devuelve el valor numérico que representa el día de la semana en la fecha UTC (0 significa domingo, 6 significa sábado)
getHours () Devuelve la hora en la fecha (0 ~ 23)
getUTCHours () Devuelve la hora en fecha UTC (0 ~ 23)
setHours (horas) Configure la hora en la fecha (si las horas son mayores que 23, agregue el día)
setUTCHours (horas) Configure la hora en fecha UTC (si las horas son mayores que 23, agregue el día)
getMinutes () Devuelve los minutos de la fecha (0 ~ 59)
getUTCMinutes () Devuelve el minuto en la fecha UTC (0 ~ 59)
setMinutes (minutos) Configure los minutos en la fecha (si los minutos son mayores que 59, agregue tiempo)
setUTCMinutes (minutes) Configure los minutos en fecha UTC (si los minutos son mayores que 59, agregue la hora)
getSeconds () Devuelve el segundo en la fecha (0 ~ 59)
getUTCSeconds () Devuelve el segundo en fecha UTC (0 ~ 59)
setSeconds (segundos) Configure los segundos en la fecha (si los segundos son mayores que 59, agregue puntos)
setUTCSeconds (segundos) Configure los segundos en la fecha UTC (si los segundos son mayores que 59, se agregarán puntos)
getMilliseconds () Devuelve los milisegundos de la fecha.
getUTCMilliseconds () Devuelve los milisegundos en la fecha UTC
setMilliseconds (milisegundos) Establecer los milisegundos en la fecha
setUTCMilliseconds (milisegundos) Establecer milisegundos en la fecha UTC
getTimezoneOffset () Devuelve la diferencia en minutos entre UTC y la zona horaria local (por ejemplo, EST de EE. UU. O "Hora estándar del este" devuelve 300, y la región que ingresa al horario de verano puede ser diferente

Supongo que te gusta

Origin blog.csdn.net/qq_43599049/article/details/113073813
Recomendado
Clasificación