Contactos

Tiempo de JavaScript en milisegundos. JavaScript Obtenga la hora y fecha actuales. Métodos para obtener componentes individuales del objeto Fecha.

La fecha y la hora son parte de nuestra vida diaria y, por lo tanto, ocupan un lugar prominente en la programación. En JavaScript, al crear un sitio web, es posible que deba agregar un calendario, calendario o interfaz para planificar reuniones. Estas aplicaciones deben mostrar los puntos de tiempo apropiados según la zona horaria actual del usuario o realizar cálculos relacionados con la llegada y la salida de la aeronave o la hora de inicio y finalización de cualquier evento. Además, es posible que deba usar JavaScript para enviar informes diarios en un momento determinado o para filtrar (por ejemplo, para buscar restaurantes de tiempo abierto).

Fecha del objeto.

Fecha es el objeto JavaScript incorporado, que almacena la fecha y la hora. Proporciona una serie de métodos incorporados para formatear y administrar estos datos.

De forma predeterminada, la nueva instancia de la fecha sin argumentos crea un objeto con la fecha y la hora actuales de acuerdo con la configuración del sistema de la computadora actual.

Por ejemplo, intente asignar la variable de fecha actual. Crea un archivo ahora.js.

// Establecer variable a la fecha y la hora actuales
Const ahora \u003d nueva fecha ();
// Ver la salida
Ahora;
Miércoles 18 de octubre de 2017 12:41:34 GMT + 0000 (UTC)

La salida es una cadena con la fecha que contiene los siguientes datos:

La fecha y la hora se rompen y se muestran convenientes para la percepción.

Sin embargo, Javascript percibe la fecha en función del tiempo de tiempo de UNIX, que es un valor que consiste en el número de milisegundos que han pasado desde la medianoche del 1 de enero de 1970. Puede obtener una marca de tiempo usando el método GetTime ().

// obtener la marca de tiempo actual
ahora.getTime ();
1508330494000

Un gran número que aparece en la salida como marca de tiempo actual es el número de milisegundos que han pasado desde la medianoche del 1 de enero de 1970, el 18 de octubre de 2017.

Cero tiempo (o tiempo de época) está representado por la línea de fecha 01 de enero de 1970 00:00:00 Tiempo universal (UTC) y una marca de tiempo 0. Puede verificarlo en el navegador creando una nueva variable en el archivo epoch.js y asignándolo una nueva instancia de fecha. Basado en el sello de tiempo 0.

// Asignar la marca de tiempo 0 a una nueva variable
Const Epochtime \u003d nueva fecha (0);
Épochtime;
01 de enero de 1970 00:00:00 Tiempo universal (UTC)

El tiempo cero se seleccionó como un estándar para medir el tiempo con las computadoras, y este método se usa en JavaScript. Es importante comprender las etiquetas y filas temporales de las fechas, ya que se pueden usar estos conceptos dependiendo de las configuraciones y los objetivos de la aplicación.

Ahora, ya sabe cómo crear una nueva instancia de fecha según la hora actual y en función de la etiqueta de tiempo. Un total de cuatro formatos de fecha en JavaScript. Además de la hora actual, la etiqueta predeterminada y temporal también se puede usar una cadena de fechas o especificar una fecha y hora específicas.

Para demostrar varias formas de enlaces a una fecha específica, intente crear nuevos objetos de fecha, que se representarán el 4 de julio de 1776, 12:30 en Greenwich de tres maneras diferentes.

// Método de marca de tiempo.
Nueva fecha (-6106015800000);
// Método de cadena de fecha
Nueva fecha ("31 de enero de 1980 12:30");
// Método de fecha y hora
Nueva fecha (1776, 6, 4, 12, 30, 0, 0, 0);

Todos estos ejemplos representan la misma información sobre la fecha y la hora de tres maneras diferentes.

Como puede ver, el método de la etiqueta temporal tiene un número negativo; Cualquier fecha a cero se presentará como un número negativo.

En el tercer ejemplo de un segundo y milisegundos son 0. Si no tiene datos suficientes al crear el objeto Fecha, debe asignarlos 0. Los datos que faltan no pueden ser SKIDD OUT, ya que la hora de los datos de tiempo en la cadena no lo hace cambio. También se debe tener en cuenta que el mes de julio aquí se indica como 6, y no como 7. Esto se debe a que el conteo no comienza a partir de 1, sino de 0. Más al respecto, en la siguiente sección.

Extracción de la fecha usando Get

Tener una fecha, puede acceder a todos sus componentes utilizando varios métodos incorporados. Los métodos devuelven cada parte de la fecha en relación con la zona horaria local. Cada uno de estos métodos comienza con Get y devuelve un número relativo. A continuación se muestra una tabla detallada de los métodos para obtener el objeto Fecha.

Fecha y hora Método Distancia Ejemplo
Año conjuntamente () YYYY. 1970
Mes getmonthth () 0-11 0 \u003d enero.
Día del mes obtener la fecha () 1-31 1 \u003d 1 de mes
Día de la semana gitday () 0-6 0 \u003d domingo.
Hora getHours () 0-23 0 \u003d medianoche
Minuto getminutes () 0-59
Segundo getseconds () 0-59
Milisegundo getmpillisegunds () 0-999
Etiqueta temporal consigue tiempo ()

// inicializar una nueva instancia de cumpleaños
Const cumpleaños \u003d nueva fecha (1980, 6, 31);

Ahora puede usar todos los métodos para extraer cada componente de fecha.

cumpleaños.getifullyear (); // 1980.
Cumpleaños.get Month (); // 6.
Cumpleaños.getdate (); // 31.
Cumpleaños.getday (); // cuatro
Cumpleaños.Tours (); // 0.
Cumpleaños.getminutes (); // 0.
Cumpleaños.getsegundos (); // 0.
Cumpleaños.getmillisegundos (); // 0.
Cumpleaños.getTime (); // 333849600000 (para GMT)

A veces, es necesario extraer solo una parte de la fecha, y los métodos de obtención incorporados lo ayudarán.

Por ejemplo, puede comparar la fecha actual con la fecha del 3 de octubre para descubrirlo, 3 de octubre ahora o no.

// obtener la fecha de hoy
Const hoy \u003d nueva fecha ();
// Compare hoy con el 3 de octubre
If (hoy.getDate () \u003d\u003d\u003d 3 && todot.getmonth () \u003d\u003d\u003d 9) (
Console.log ("es" el 3 de octubre ");
) DEMÁS (
Console.log ("" "es no el 3 de octubre");
}
No es el 3 de octubre.

Métodos INTERPRADOS Obtenga Permitir el acceso a los componentes de la fecha.

Cambiando la fecha con el set

Para todos los métodos obtenidos mencionados anteriormente, hay un método de conjunto apropiado. Si se usa la obtención para extraer un componente de fecha específico, se usa el conjunto para cambiar estos componentes. A continuación se muestra una tabla detallada de métodos establecidos para el objeto Fecha.

Fecha y hora Método Distancia Ejemplo
Año ajustado () YYYY. 1970
Mes set Month () 0-11 0 \u003d enero.
Día del mes dEFINE LA FECHA () 1-31 1 \u003d 1 de mes
Día de la semana de día libre () 0-6 0 \u003d domingo.
Hora sethours () 0-23 0 \u003d medianoche
Minuto setminutes () 0-59
Segundo setseconds () 0-59
Milisegundo setmillisegundos () 0-999
Etiqueta temporal fijar tiempo () Número de milisegundos de cero tiempo

Estos métodos establecidos se pueden usar para cambiar uno o más componentes de la fecha. Por ejemplo, puede cambiar el año en la variable de cumpleaños para 1997.

// Cambiar año de cumpleaños Fecha
Cumpleaños.setfilyear (1997);
Cumpleaños;
JUS 31 DE 1997 00:00:00 GMT + 0000 (UTC)

Ahora, cuando llame a un cumpleaños variable, no vea 1980 y 1997.

Los métodos de conjunto incorporados le permiten cambiar diferentes partes del objeto de fecha.

Métodos UTC

Los métodos obtenidos descritos anteriormente recuperan los componentes de la fecha según la configuración de la zona de usuario local. Para aumentar el control sobre las fechas y el tiempo, puede usar los métodos GetUTC que funcionan de la misma manera que obtienen métodos, pero calcule el tiempo según el estándar UTC (tiempo coordinado en todo el mundo). A continuación se muestra la tabla del método UTC para el objeto de fecha en JavaScript.

Fecha y hora Método Distancia Ejemplo
Año getTcullyear () YYYY. 1970
Mes getutcmonth () 0-11 0 \u003d enero.
Día del mes getutcdate () 1-31 1 \u003d 1 de mes
Día de la semana getutcday () 0-6 0 \u003d domingo.
Hora getUtchours () 0-23 0 \u003d medianoche
Minuto getutcminutes () 0-59
Segundo getUtcseconds () 0-59
Milisegundo getutcmillisegundos () 0-999

Para verificar la diferencia entre los métodos Obtener local y los métodos UTC, inicie el siguiente código.

// Asignar tiempo actual a una variable
Const ahora \u003d nueva fecha ();
// Imprimir loca y UTC Timbas
Console.log (ahora.Thours ());
Console.log (ahora.getutchurs ());

Este código mostrará la hora y la hora actuales en la zona horaria UTC. Si está ahora en la zona horaria UTC, los números que el programa se retirarán serán los mismos.

UTC proporciona un estándar de tiempo internacional y, por lo tanto, puede admitir un código de acuerdo con las zonas horarias si es necesario en su programa.

Conclusión

En este manual, aprendió a crear una instancia del objeto Fecha, cómo usar sus métodos incorporados para acceder y cambiar los componentes de una fecha específica. Más información sobre la hora y la fecha en JavaScript que puede encontrar en la red de desarrolladores de Mozilla.

La capacidad de trabajar con fechas es importante para muchas tareas comunes en JavaScript: desde la creación de informes regulares antes de mostrar fechas y horarios en la zona horaria correcta.

Etiquetas:

¡Hola a todos!
A menudo tengo que trabajar con datos estadísticos y hay mucho atado en las fechas. Además, se puede usar una y la misma fecha en una página en diferentes formatos (por ejemplo, en una máquina conveniente y en una persona conveniente). Creo que la mayoría de ustedes representan perfectamente todo este código aterrador que se obtiene al usar el objeto Fecha.
Por ejemplo, para obtener la fecha actual en formato DD.MM.YGYY. Tendremos que hacer lo siguiente:
var d \u003d nueva fecha (), fd \u003d d.getdate () + "". + (d.get Month () + 1) + "". + d.getifyear ();
¿Y cuando tales cadenas se convierten mucho? ¿Es fácil mencionar que en JavaScript al mes comienza desde cero cuando se desarrolla no solo en él? ¿O qué hay milisegundos, y no un segundo, cómo casi en todas partes del backend? Puede resolver parte de las tareas de la popular biblioteca moment.js, pero funciona muy lentamente.
La biblioteca bajo consideración resuelve estos problemas.
Si me pregunto, te sugiero que leas esta pequeña revisión.

Tempusjs consiste en gran medida en el azúcar de sintaxis durante el objeto de fecha, por lo que funciona muy rápidamente. La sintaxis de la biblioteca en sí es muy simple. Por ejemplo, escriba el ejemplo anterior, puede:
var fd \u003d tempus (). Formato ("% d.% m.% y");
Ahora sobre la velocidad. En el Spoiler, puede ver la comparación de Tempus con el momento y el método de formato de fecha nativo (ver arriba):

Comparación de JS nativo, momentajs y tempusjs.

Obtenemos la fecha actual
Nativo JS x 2,175,575 OPS / SEC ± 0,75% (Ejemplo de 96 ejecutores) Momento x 284,864 OPS / SEC ± 0.85% (Ejemplo de Ejecución 96) Tempus X 2,086,081 OPS / SEC ± 0.73% (Ejemplo de 97 carreras)
Formato
Nativo JS x 1,637,517 OPS / SEC ± 0.61% (Muestra de 100 carreras) Momento x 8,808 OPS / SEC ± 1.07% (Muestra de 100 carreras) Tempus x 942,815 OPS / SEC ± 0.68% (Ejemplo de 94 ejecuciones)
Detección automática de la fecha y el análisis.
Nativo JS x 11,204,316 OPS / SEC ± 0,81% (88 ejemplares de ejecución) Momento x 38,511 OPS / SEC ± 1.41% (muestra 95 Ejecución) Tempus x 93,973 OPS / SEC ± 1.06% (85 Ejecución de la muestra)
Fecha de análisis en formato
MOMENTO X 46,293 OPS / SEC ± 0.63% (Muestra de 100 carreras) Tempus x 109,947 OPS / SEC ± 0.93% (Ejemplo de 99 ejecuciones)
PERSONO Y VALIDACIÓN
Momento x 44,588 OPS / SEC ± 1.09% (muestra 90 Ejecución) Tempus X 103,439 OPS / SEC ± 0.90% (Ejemplo de 94 ejecuciones)
Los resultados se obtuvieron en mi computadora portátil en Google Chrome 30.0.1599.114. En otros navegadores, los resultados difieren, pero la proporción sigue siendo lo mismo.
Para pruebas usadas Biblioteca de Benchmark.js
Punto de referencia en otras funciones, puedes ver.

Entonces, en las ventajas de esta biblioteca, puede registrar lo siguiente:

  • Admite IE6 +, Chrome, Firefox, Opera;
  • Apoya las cadenas de llamadas;
  • Los meses pueden comenzar con 1 (predeterminado), no cero;
  • Los milisegundos se pueden deshabilitar (por defecto) o incluido;
  • Trabajo rápido (como, en muchos casos, el objeto de fecha se usa nativo del navegador, la implementación de la cual se escribe en idiomas más rápidos);
  • Soporta formatos y complementos personalizados.
  • La validación de la fecha es muy rápida y depende solo de la fecha de configuración de las funciones (porque la validación ya está bajo los valores de mejora, y no se calcula por separado);
  • Definición multilingüe y automática del idioma del usuario.

Aquí será solo algunas funciones.

Formateo y parcela

Entonces, para empezar otro ejemplo del formato de fecha. Aquí también usamos los desafíos de la cadena. Al final de cada configuración, obtenemos un objeto TEMPUSDATE, que se puede usar más en la cadena. Ejemplo:
Tempus (). // Obtenga una nueva fecha Calc ((mes: -1)). // reducirlo por un mes formato ("% d.% M.% Y"); // mostrar en forma de una cadena
Por lo tanto, obtendremos el mismo día, una hora y un segundo, pero hace un mes. Esto es útil para los informes para el último mes.

El siguiente ejemplo es la parcelación de fechas.
// devolver el objeto TempusDates Fecha "2013-11-18" Tempus ("18.11.2013"); // devolver el objeto TEMPUSDATE con la fecha "2013-12-12" Tempus ("2013-12-12", "% y-% M-% D"));
Tempus puede determinar automáticamente algunos formatos conocidos. Además, puede especificar un formato específico, entonces la parcela ocurrirá más rápido. Además, puede especificar la fecha que se devolverá si el análisis falla:
// t.k. "123" no se adapta al formato "% d.% M.% y", luego // // El objeto que contiene la fecha 2013-01-01 Tempus será devuelto ("123", "% d.% M.% y ", Tempus ());
Lista de formatos por defecto se puede ver.

Y ahora cambia el formato de la fecha ya formateada.
// "2013-11-05" Tempus ("05.11.2013"). Formato ("% y-% m-% d"); // o so // "Octubre, 12" Tempus ("2013-10-12 12:31:01", "% y% M-% D% H:% M:% S"). Formato ("% B,% d ");

Además, puede utilizar la localización para formatear. De forma predeterminada, se seleccionará el idioma del usuario (tomar desde el navegador) o el idioma predeterminado si el idioma del usuario no se detecta entre los idiomas de Tempus disponibles.
// instalar el idioma tempus.lang ("ru"); // Formato de uso estándar // "Noviembre, 05" Tempus (1383609600). Format ("% B,% D");
En este momento, los idiomas son solo dos - rusos e ingleses, por lo que me alegraré de ayudar.

Validación

La validación de la fecha ocurre de la siguiente manera:
// retorno FALSO TEMPUS ("32.08.2013", "% d.% M.% y"). Válido (); // retener el verdadero tempus ("00:00 01.01.2012", "% h:% m% d.% M.% y"). Válido ();

En caso de error, puede ver los campos en los que se originó en todas partes donde el valor no es falso:
// Retorno ("Año": - 5, "Mes": Falso ", Día": Falso, "Horas": Falso, // "Minutos": Falso, "Segundos": Falso, "Millisegundos": Falso) Tempus (). Año (-5). // Establecer el año \u003d -5, es decir, Errores nevalid (); // obtener un objeto con errores

Rangos de dat

A veces necesitamos obtener la cantidad de años (por ejemplo, edad), meses, días, etc. entre dos fechas. Para hacer esto, podemos usar el método entre el método, que encuentra la diferencia entre dos fechas y devoluciones en el formato deseado ("Año", "Mes", "Día", "Horas", "Minutos", "segundos", "segundos" ", Milisegundos ").
Aquí hay un ejemplo simple de obtener el número de meses entre el 1 de noviembre de 2013 y el 5 de mayo de 2014:
// devolverá 6 TEMPUS (). Entre (Tempus (), "Mes");
O la cantidad de horas que quedan antes del año nuevo
Tempus (). Entre (tempus (), "horas");
En el último ejemplo, puedes ver que solo apuntaba el año. Al configurar el valor con una matriz u objeto, la falta de valores será
Lleno de mínimo. Lista de constantes con valores mínimos, puede ver en la documentación.

Además, podemos cambiar cualquier fecha usando la función Calc:
// devolver TEMPUSDATE con la fecha 2012-01-01 Tempus (). Calc ((año: 1, mes: -4, día: -1));

Sus formatos

Utilizamos su formato durante un mes, lo que puede tomar valores de 1 a 12 (y no 01 a 12):
// registramos un nuevo formato tempus.registerformat ("% q", // Directiva -% q Función (FECHA) (// Indique la función de formato, es decir, lo que se sustituirá en lugar de% q Fecha de devolución. Monte (); ), Función (valor) (// y aquí la función de análisis var v \u003d número de análisis (mes: (isnan (v)? Indefinido: v));), 1, // Longitud mínima, que es 2, // Longitud máxima "Número" // tipo); // prueba // devuelve "01.1.2013"; Tempus ((Año: 2013, Mes: 1, Día: 1)). Formato ("% d.% Q.% y"); // retener ("año": 2013, "Mes": 2, "Día": 10, "Horas": 0, "Minutos": 0, "segundos": 0); Tempus ("10.2.2013", "% d.% Q.% y"). Obtener ();
Al registrarse, puede ver que algunos parámetros se especifican por separado, mientras se podría usar la expresión regular. De hecho, originalmente era, pero después de la negativa, la velocidad aumentó unas pocas docenas de veces.
Si necesita eliminar algún formato, use UNREGISTERFORMAT:
Tempus.unregisterformat ("% d"); // volver "% d.01.2013", porque La directiva% D ya no existen. Tempus.format ((año: 2013, mes: 1, día: 1), "% d.% M.% Y");

Getter / Setters

Puede recibir / establecer algunos valores utilizando las funciones del año (), mes (), día (), hosts (), minutos (), segundos (), milisegundos (), DIVEFWEEK (), UTC (), timestamp () o set (). Por ejemplo:
Tempus (). // Obtenga el año actual (1900). // dejar todo como lo es, pero instalamos 1900 lealear (); // verificar si este año es un año, en este caso, Tempus Falso (). Año (); // y así obtenemos el año en curso en la forma numérica

Generación dat.

Puede generar una fecha con una multitud de formas, una lista completa de los parámetros está en la documentación. Aquí hay un ejemplo mínimo.
// devuelve ["03/29/2013", "03/30/2013", "03/03/2013", "04/01/2013", "," 04/02/2013 "]; Tempus.Generate (((DateFrom: "20130329", FormatoFrom: "% y.% M.% D", DATETO: "20130402", período: (Día: 1), Formato: "% d.% M.% Y" ))
Puede ser útil para mostrar gráficos por fecha y cambiar el formato de visualización directamente en el cliente, sin solicitudes al backend. La fecha se puede generar como una matriz, así como objetos donde las fechas en sí mismas son como las teclas (esto es útil cuando necesitamos unir cualquier evento a cualquier fecha, por ejemplo, cuando hagamos su calendario). Además, las fechas pueden agruparse por día, semanas, meses, horas, años, por cualquier cosa. También se puede aplicar al calendario.

Complementos

Bueno, los últimos plugins. Aquí extendemos la fábrica para generar una fecha aleatoria. Además, necesitaremos una clase de TempusDate, se puede encontrar en Tempus. Classes (). Aquí hay un ejemplo de un complemento:
(TempusDate \u003d Tempus. Clases ("TempusDate"); Tempus.RandomDate \u003d Función () (Var Fecha \u003d New TempusDate (); Fecha. Ayer (matemath.floor ((math.random () * (tempus.max_year - tempus. min_year)) + tempus.min_year)). Mes (matemath.floor ((math.random () * (tempus.max_month - tempus.min_monteh)) + tempus.min_month)). Día (Matemáticas. Piso (Matemáticas. () * (dation.daycount () - tempus.min_day)) + tempus.min_day)). Horas (matemáticas.floor ((math.random () * (tempus.main_hours - tempus.min_hours)) + tempus.min_hours) ). Minutos (matemath.floor ((matems.random () * (tempus.main_minutes)) + tempus.min_minutes)). Segundos (matemath.floor ((math.random () * (tempus.max_seconds - tempus.min_seconds) ) + tempus.min_segonds); fecha de retorno;);)) (tempus); // Ahora podemos crear las fechas de la siguiente manera que sigue VAR SOMERANDOMDATE \u003d TEMPUS.RANDOMDATE ();
Creo que de esta manera será conveniente escribir widgets usando un jquery + tempus, angular + tempus, y similares. 7 de diciembre de 2014 a las 12:30

Problemas de fecha y hora en JS.

  • JavaScript.

Un programador raro sucede para evitar trabajar con la fecha y la hora. En general, la fecha / hora es un concepto básico y en la mayor parte de los idiomas, hay mecanismos incorporados para trabajar con este tipo de datos. Parecería que JS no es una excepción, hay una fecha de tipo incorporada, hay un montón de funciones en el prototipo, sin embargo ...

Quien es culpable
El primer problema se produce cuando necesita configurar la fecha / hora en la zona horaria que no sea UTC y de local. El diseñador de fecha no tiene un parámetro de este tipo.

Nueva fecha (); Nueva fecha (valor); Nueva fecha (DataString); Nueva fecha (año, mes [, día [, hora [, minuto [, segundo [, milisegundo]]]]];
La única opción donde puede especificar el compensado en relación con el UTC, el tercer método. La llamada constructor en este formato le permite transferir el desplazamiento como parte de la línea:

Nueva fecha ("Sun 01 de febrero de 1998 00:00:00 GMT + 0700")
La fila se acepta en formato RFC2822, muy incómodo y difícil de ingresar manualmente. Es casi imposible obtener tal cadena de la entrada del usuario. No puedo imaginar a una persona que acordó ingresar la fecha en un formato de este tipo.

A pesar de que en la fecha en que puede establecer todos los parámetros por separado para los tiempos UTC, los problemas no resuelven, la zona horaria se mantendrá local. Pero este no es el único problema.

La compensación en relación con la UTC no es una constante. Esta es una función de una fecha, hora (pocillo o de Timesshampa, si le plazca) y, nuevamente, la zona horaria. Por ejemplo, para Moscú, la última transferencia de tiempo da:

Nueva fecha (2014, 9, 25, 0, 0, 0); // 26.10.2014, 21:00 GMT + 3 Fecha nueva (2014, 9, 27, 0, 0, 0); // 25.10.2014, 22:00:00 GMT + 4
Por lo tanto, el diseñador en la tercera versión se vuelve casi inútil porque la compensación debe ser conocida por adelantado. Y, como se dijo, por lo que simplemente se recibió para ser. La única biblioteca, desde que obtuve, que utiliza la base de datos OLSON para el cambio de los turnos - TimeZone-JS. El problema de usar esta biblioteca es que las bibliotecas subterráneas (Fecha / Picker-S) no saben nada e insistentemente usan la fecha estándar dentro. Las bibliotecas restantes que trabajan con el objeto Fecha claramente no se refieren a esta base de datos y las actualizaciones no reciben de ella. (Corregirme en los comentarios.)

El negocio del uso de la zona horaria tiene sentido solo si se especifican la fecha y la hora. Por ejemplo, si el día de trabajo comienza a las 9:00, es poco probable que espere que su colega de Vladivostok comience a trabajar a las 15:00. Los tiempos de tiempo no deben tenerse en cuenta y, en este caso, debe mostrar la fecha en UTC. Sin embargo, en el caso de los eventos regulares que ocurren en un punto en el tiempo en diferentes zonas horarias, todavía se necesita el Timeson. Por ejemplo, su cicatriz diaria comienza a las 10:00 para usted y a las 13:00 para Novosibirsk. Por cierto, esta es exactamente la diferencia entre GMT y UTC. UTC es el tiempo sin compensación, y GMT es el momento con el desplazamiento 0. Explicaré en el ejemplo:

31/12/2014, 20:59:59 GMT en la zona horaria de Moscú debería parecer 12/31/2014, 23:59:59 12.12.2014, 20:59:59 UTC en la zona horaria de Moscú debería ser en 31/12/2014, 20:59: 59.
Debido a esta aritmética, están principalmente confundidos. Desafortunadamente, habitado con este parámetro en todas partes. La falta de indicación directa del Timesono en JS se interpreta como una zona horaria local, y la instrucción de UTC y GMT es equivalente.

En una situación, podría ayudar a intl. Podría, pero no obligado. En particular, hay una zona horaria de un parámetro, pero, un poco más, la norma define: la zona horaria para usar. Las únicas implementaciones de valor deben reconocer es "UTC". Actualmente, además de Chrome, no a un navegador TimeZones arbitrarios no es compatible.
Con las bandas de tiempo en JS, todo está completamente mal, no hay nada de eso en el idioma. Quiero hacerlo bien, hazme yo mismo.

Qué hacer
  • Opción 1.
    No use Timson arbitrary. La opción es preferible y probablemente la más indolora. Es decir, solo tienes el tiempo local y UTC. Para estos casos en todos los navegadores, parece que todo es, aunque no es muy conveniente. Además, el Timeson se establece a nivel mundial para el sistema operativo y lo cambia para una aplicación web específica es Notocherly.
  • Opcion 2.
    Si se necesitan tiempos arbitrarios, no usar la marca de tiempo. En absoluto. TIENDA TIEMPO EN LA PAGO DE AHORRO EN CADENA DE RFC que indica los timzons. No estoy seguro de que esto ayude a derrotar a los cambios de temporizador en una comprensión de un navegador cruzado, pero, al menos, cromado sobre tales cambios en el Know.
  • Opción 3.
    Hay diferentes situaciones y sucede que en el tiempo de la base de datos se registra con cualquier dispositivo. Es decir, en forma de timestampa. No hay lugar para ejecutar aquí que exhibiría correctamente el tiempo que necesita saber un TIMEON del dispositivo, o un Thaimon del usuario, o ambos de los demás e identificar todos los turnos en la mano. Sin usar la base de Olon, no lo hagas aquí.
  • Debe haber una moralidad de esta fábula, pero no hay nada más para agregarme. En el borrador de la norma ECMA, no observo ningún progreso, probablemente no.

Otra cosa útil para los sitios es la inserción de la fecha actual. Los ejemplos de los scripts de fechas se pueden encontrar en los docenas de Internet, pero muchos de ellos, en mi opinión, son pesados \u200b\u200by, por lo tanto, feos. Mientras tanto el uso de herramientas estándar. JavaScript., Inserte la fecha en la página del sitio puede ser muy simple. ¡A menudo lo aplico! En la imagen (captura de pantalla del sitio operativo) manor "Cuento de hadas" !

Aquí está el script de fecha entero:

En mi opinión, es más fácil de ninguna parte, bastante bella y comprensible. Si no tiene ningún deseo de estudiar la construcción de este script, simplemente insértelo en cualquier lugar de la página HTML y obtenga la siguiente inscripción:

Una opción más más avanzada.


! Hoy

Se parece a esto:

Hoy

En general, no se requieren habilidades, inserte estúpidamente insertar el código y todo está bien!

Lee mas:

Entonces, comience con la asignación del valor de fecha de la variable d., luego crea matrices ( Formación.) Para los días de la semana ( día.) y meses ( mES.), indicándolos en la forma gramatical necesaria: el caso, el número, la letra de título, si la palabra está al comienzo de la fecha, etc. La última línea del script está imprimiendo la fecha ( documento. Escribe.). Aquí instala que en qué secuencia se mostrará en la línea de la fecha actual. Los componentes se separan unos de otros. + . La construcción se utiliza para entrar en un espacio. " " , y para ingresar a la letra g (año) - diseño "GRAMO."

Como se puede ver en el script, recibir datos sobre la hora actual realiza el elemento obtener.. Este método le permite obtener la siguiente información:

  • obtener la fecha () - Devuelve el número del 1 al 31, lo que representa el número del mes;
  • gitday () - Devuelve el día de la semana como un número entero de 0 (domingo) a 6 (sábado);
  • getmonthth () - Devuelve el número de meses al año;
  • conjuntamente () - Devuelve el año. Si se usa simple getyear ()Luego, el año en curso se emitirá menos 1900;
  • obtener horas () - Devuelve una hora del día;
  • getminutes () - devuelve los momentos como un número de 0 a 59;
  • getseconds () - Devuelve el número de segundos de 0 a 59.

Insertar directamente Java.El script dentro del sitio del sitio no siempre es conveniente. Es mejor poner una descripción del script en la parte superior de la página entre las etiquetas Y configure la variable que llamaremos según sea necesario en el texto. Vamos a llamarlo Hoy. Y definimos el formulario de salida en él de manera similar a lo anterior. El guión se verá así:

Para mostrar la fecha, llame al script en el lugar correcto de la página HTML de la página con el siguiente comando:

Si su sitio contiene muchas páginas en las que desea mostrar la fecha, es más conveniente asignar Java.Fechas de salida de script en un archivo separado, por ejemplo, data.js.. Prácticamente, esta es una página que consiste en el primero de los scripts descritos, es decir, con una cadena documento. Escribe. (véase más arriba). Es necesario tenerlo en el mismo directorio que la página principal, y causar la fecha en el lugar de salida de la siguiente manera:

No olvides comprobar el archivo data.js. Tenía la misma codificación que el documento principal, de lo contrario, la fecha se eliminará con maravillosos ganchos, cuadrados y otros fintyphushki.

Comentario. Debe tenerse en cuenta que el script descrito muestra la fecha establecida en la computadora del usuario, que no siempre corresponde a la hora actual actual. Si necesita mostrar la hora exacta, debe usar el script PNP que mostrará la hora en el servidor.

Obtenga la fecha actual en JavaScript es muy simple. Para este propósito, el objeto de fecha está destinado. Su sintaxis es bastante simple, y los nombres de los métodos intuitivamente comprensibles. En los ejemplos a continuación, mostraré cómo trabajar con el objeto Fecha ( Javascript nueva fecha.) ¡Para obtener el año, mes, día y tiempo actual, con una precisión de Millisegund!

Recepción de la fecha actual:

Para obtener la fecha actual en JavaScript, use la nueva palabra clave para crear una nueva instancia del objeto Fecha.

var cita \u003d nueva fecha (); Console.log (fecha);

Este código muestra la siguiente información a la consola:

// mare feb 02 2016 15:46:56 GMT-0500 (Tiempo estándar del este)

Muestra el día actual de la semana, el mes actual, el día del mes, el año e incluso la hora actual en formato de 24 horas. Fragmento " GMT."Significa tiempo de Greenwich, y" -0500 "Esta es la diferencia en las zonas horarias entre la hora local y el GMT.

Cita de Wikipedia: "Tiempo promedio de Greenwich ( GMT.) - Este es un momento soleado secundario en el Royal Observatory en Greenwich, Londres ". Está conectado con tiempo universal coordinado (UTC.). « Hora estándar del Este."En la fecha de la pantalla, se refiere a la zona horaria de su navegador o computadora.

* Tenga en cuenta que GMT y UTC difieren el uno en el otro. Consideraremos los valores UTC en minutos.

* También tenga en cuenta que la fecha en JavaScript está determinada por el tiempo en milisegundos, que ha pasado desde la medianoche, el 1 de enero de 1970, UTC. En un día 86,400,000 milisegundos. El rango del objeto de fecha es de -100,000,000 días a 100,000,000 días en relación con el 1 de enero de 1970, UTC.

* Los valores obtenidos utilizando el método mencionado anteriormente dependen de la configuración del sistema de su dispositivo. Si cambia la configuración del reloj de la computadora, la hora que devolverá este método cambiará.

Bueno, nos ocupamos de los formatos de javascript de nueva fecha y ahora estamos listos para seguir adelante.

Consiguiendo un día de la semana:

Para obtener el día de la semana, use el método. Fecha de objeto javascript GETRYDAY ():

var día \u003d fecha.getday (); Console.log (día);

* Tenga en cuenta que los días de la semana están numerados de 0 a 6, domingo \u003d 0, lunes \u003d 1, martes \u003d 2 y así sucesivamente.

Obtención de un mes:

Para obtener el mes actual de este año, use el método GetMontth (). Antes de eso, dije que los nombres de los métodos entienden intuitivamente!

var mes \u003d fecha.getmonth (); Console.log (mes); //uno

* Tenga en cuenta que, como los días de la semana, los meses se devuelven en un formato numérico de 0 a 11; Enero \u003d 0, febrero \u003d 1, marzo \u003d 2 y así sucesivamente.

Obtención de un día del mes:

Para obtener el día del mes, puede usar el método GetDate ().

var dayofmonth \u003d fecha.getdate (); Console.log (dayofmonth); // 2.

* GetDate () El método devuelve los días del mes, numerados de 1 a 31; El número 1 corresponde al primer día del mes.

TENGA TIEMPO:

Para obtener la hora actual, se utiliza el método GetTime ().

var tiempo \u003d fecha.getTime (); Console.log (tiempo); // 1454461242058.

Se ve ... extraño ... ¿Qué es? Usted ve el número de milisegundos que han pasado desde el 1 de enero de 1970 00:00:00 UTC. Entonces, ¿qué edad tiene?

1454461242058 MS / 31540000000 MS por año \u003d unos 46 años
1970 + 46 años \u003d 2016

Vamos a verificar que:

var año \u003d fecha.getyear (); Console.log (año) // 2016

¡Si eso es! Acabamos de llevar la fecha y la hora actuales utilizando la nueva fecha de JavaScript.



¿Te gustó el artículo? Compártelo