Hora actual de Javascript en milisegundos. JavaScript Obtener fecha y hora actual

El objeto Date le permite trabajar con fechas y horas. La siguiente sintaxis se utiliza para crear un nuevo objeto Date:

Nueva fecha ()

Almacena las fechas como el número de milisegundos desde la medianoche del 1 de enero de 1970, según la hora universal (UTC). Con este formato, Date puede representar con precisión fechas que son 285616 años desde el 1 de enero de 1970.

Si se llama al constructor Date sin argumentos, se crea un objeto con los valores de fecha y hora actuales. Para crear un objeto Date con una fecha u hora específicas, deberá pasar uno de los cuatro parámetros posibles:

  • milisegundos: el valor debe ser el número de milisegundos desde el 01.01.1970 var birthDate = new Date (8298400000); document.write (fecha de nacimiento);
  • cadena de fecha: cualquier fecha en el formato admitido por el método parse () var birthDate = new Date ("16 de abril de 1975"); document.write (fecha de nacimiento);
  • año, mes, día var birthDate = nueva fecha (1975, 4, 28); document.write (fecha de nacimiento);

    Tenga en cuenta que el número 4 corresponde al mes de mayo. Esto significa que el número 0 corresponde a enero, los días se calculan de la misma forma, solo cero en este caso corresponde al domingo.

  • año, mes, día, hora, minutos, segundos, milisegundos

Cuando trabaje con un objeto de fecha, es importante recordar que los cálculos se realizan utilizando la hora universal coordinada (UTC), aunque su computadora puede mostrar la hora de acuerdo con su zona horaria.

Métodos

MétodoDescripción
obtener la fecha ()Devuelve el día del mes (del 1 al 31) para la fecha especificada, hora local.
getDay ()Devuelve el día de la semana (0 a 6; 0 = domingo, 1 = lunes, etc.) para la fecha especificada, hora local.
getFullYear ()Devuelve el año (cuatro dígitos).
getHours ()Devuelve la hora (0 a 23).
getMilliseconds ()Devuelve milisegundos (0 a 999).
getMinutes ()Devuelve minutos (0 a 59).
getMonth ()Devuelve el mes (0 a 11; 0 = enero, 1 = febrero, etc.).
getSeconds ()Devuelve los segundos (de 0 a 59).
consigue tiempo ()Devuelve el número de milisegundos desde la medianoche del 01/01/1970.
getTimezoneOffset ()Devuelve la diferencia horaria entre UTC y la hora local, en minutos.
getUTCDate ()Devuelve el día del mes, UTC (1 a 31).
getUTCDay ()Devuelve el día de la semana según la hora universal (de 0 a 6).
getUTCFullYear ()Devuelve el año UTC (cuatro dígitos).
getUTCHours ()Devuelve la hora UTC (0 a 23).
getUTCMilliseconds ()Devuelve milisegundos UTC (0 a 999).
getUTCMinutes ()Devuelve los minutos en UTC (0 a 59).
getUTCMonth ()Devuelve el mes en UTC (0 a 11).
getUTCSeconds ()Devuelve los segundos en UTC (0 a 59).
analizar ()Analiza una cadena de fecha (por ejemplo, "21 de mayo de 1992") y devuelve una cadena de fecha que contiene el número en milisegundos desde el 1 de enero de 1970 00:00:00.
Establece la fecha ()Establece el día del mes para la fecha especificada, hora local (1 a 31).
setFullYear ()Establece el año (cuatro dígitos).
setHours ()Establece la hora de la fecha especificada de acuerdo con la hora local (0 a 23).
setMilliseconds ()Establece los milisegundos para la fecha especificada, hora local.
setMinutes ()Configura los minutos (0 a 59).
setMonth ()Establece el mes (de 0 a 11).
setSeconds ()Configura los segundos (0 a 59).
fijar tiempo ()Establece la fecha en milisegundos después (o antes) del 01/01/1970.
setUTCDate ()Especifica el día del mes.
setUTCFullYear ()Establece el año según la hora universal (cuatro dígitos).
setUTCHours ()Establece la hora de la fecha especificada, UTC.
setUTCMilliseconds ()Establece los milisegundos para la fecha especificada, UTC.
setUTCMinutes ()Establece los minutos de la fecha especificada, UTC.
setUTCMonth ()Establece el mes de la fecha especificada, UTC.
setUTCSeconds ()Establece los segundos para la fecha especificada, UTC.
toDateString ()
toISOString ()Convierte una fecha en una cadena utilizando el estándar ISO 8601.
toJSON ()Devuelve la fecha como una cadena, formateada como una fecha JSON.
toLocaleDateString ()
toLocaleTimeString ()Devuelve la parte de la fecha como una cadena, con una representación de la fecha basada en los parámetros del sistema.
toLocaleString ()Devuelve la fecha como una cadena, con una representación de la fecha basada en los parámetros del sistema.
Encadenar ()Devuelve una cadena que representa el objeto Date especificado.
toTimeString ()Devuelve parte de la fecha como una cadena.
toUTCString ()Convierte una fecha en una cadena utilizando la zona horaria UTC.
UTC ()Toma los mismos parámetros que la forma larga del constructor (es decir, 2-7) y devuelve el número de milisegundos desde el 1 de enero de 1970 a las 00:00:00 UTC.
valor de ()Devuelve el valor primitivo de un objeto Date.

La fecha y la hora son parte de nuestra La vida cotidiana y, por lo tanto, ocupa un lugar destacado en la programación. En JavaScript, al crear un sitio web, es posible que desee agregar un calendario, un horario de trenes o una interfaz para programar citas. 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 salida de un avión o las horas de inicio y finalización de un evento. Además, es posible que deba utilizar JavaScript para enviar informes diarios a tiempo específico o para filtrar (por ejemplo, para buscar restaurantes abiertos a una hora determinada).

Objeto de fecha

La fecha está en línea Objeto JavaScript que almacena la fecha y la hora. Proporciona una serie de métodos integrados para formatear y manipular estos datos.

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

Por ejemplo, intente asignar la fecha actual a una variable. Cree un archivo ahora.js.

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

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

La fecha y la hora se desglosan y se muestran de forma legible.

Sin embargo, JavaScript interpreta una fecha en términos de una marca de tiempo de Unix, que es un valor que consiste en el número de milisegundos desde la medianoche del 1 de enero de 1970. Puede obtener la marca de tiempo utilizando el método getTime ().

// Obtener la marca de tiempo actual
now.getTime ();
1508330494000

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

El tiempo cero (o tiempo de época) está representado por la cadena de fecha 01 de enero de 1970 00:00:00 Hora universal (UTC) y marca de tiempo 0. Puede probar esto en el navegador creando una nueva variable en el archivo epoch.js y asignándole una nueva instancia de fecha en función de la marca de tiempo 0.

// Asignar la marca de tiempo 0 a una nueva variable
const epochTime = nueva fecha (0);
epochTime;
01 de enero de 1970 00:00:00 Hora universal (UTC)

Se eligió el tiempo cero como el estándar para medir el tiempo en las computadoras, y este método se utiliza en JavaScript. Es importante comprender las marcas de tiempo y las cadenas de fecha, ya que estos conceptos se pueden utilizar según la configuración y el propósito de la aplicación.

Ahora sabe cómo crear una nueva instancia de fecha basada en la hora actual y en una marca de tiempo. Hay un total de cuatro formatos de fecha en JavaScript. Además de la hora y la marca de tiempo actuales predeterminadas, también puede usar una cadena de fecha o especificar una fecha y hora específicas.

Demostrar diferentes caminos haciendo referencia a una fecha específica, intente crear nuevos objetos Date que representen el 4 de julio de 1776 a las 12:30 GMT de tres formas diferentes.

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

Todos estos ejemplos presentan la misma información de fecha y hora de tres formas diferentes.

Como puede ver, el método de marca de tiempo tiene un número negativo; cualquier fecha anterior a la hora cero se representará como un número negativo.

En el tercer ejemplo, los segundos y milisegundos están representados por 0. Si faltan datos cuando crea el objeto Date, debe establecerlos en 0. Los datos faltantes no se pueden omitir porque el orden de los datos de tiempo en la cadena no lo hace. cambio. También debe tenerse en cuenta que el mes de julio se designa aquí como 6, no como 7. Esto se debe a que la cuenta regresiva no comienza desde 1, sino desde 0. Más sobre esto en la siguiente sección.

Recuperando una fecha usando get

Una vez que tenga una fecha, puede acceder a todos sus componentes utilizando varios métodos integrados. Los métodos devuelven cada parte de la fecha relativa a 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 métodos de obtención para el objeto Date.

Fecha y hora Método Distancia Ejemplo
Año getFullYear () AAAA 1970
Mes getMonth () 0-11 0 = enero
Dia del mes obtener la fecha () 1-31 1 = 1 ° del mes
Día de la semana getDay () 0-6 0 = domingo
Hora getHours () 0-23 0 = medianoche
Minuto getMinutes () 0-59
Segundo getSeconds () 0-59
Milisegundo getMilliseconds () 0-999
Sello de tiempo consigue tiempo ()

// Inicializar una nueva instancia de cumpleaños
cumpleaños constante = nueva fecha (1980, 6, 31);

Ahora se pueden usar todos los métodos para recuperar cada componente de la fecha.

birthday.getFullYear (); // 1980
birthday.getMonth (); // 6
birthday.getDate (); // 31
cumpleaños.getDay (); // 4
birthday.getHours (); // 0
birthday.getMinutes (); // 0
birthday.getSeconds (); // 0
cumpleaños.getMilliseconds (); // 0
birthday.getTime (); // 333849600000 (para GMT)

A veces, solo necesita recuperar parte de una fecha, y los métodos de obtención incorporados lo ayudarán con eso.

Por ejemplo, puede comparar la fecha actual con la fecha del 3 de octubre para averiguar si es el 3 de octubre o no.

// Obtener la fecha de hoy
const hoy = nueva fecha ();
// Compare hoy con el 3 de octubre
if (today.getDate () === 3 && today.getMonth () === 9) (
console.log ("Es el 3 de octubre");
) demás (
console.log ("No es el 3 de octubre");
}
No es el 3 de octubre.

Los métodos de obtención incorporados le permiten acceder a componentes de fecha.

Cambiar la fecha con set

Todos los getters anteriores tienen un setter correspondiente. Si se usa get para recuperar un componente específico de una fecha, set se usa para cambiar esos componentes. A continuación se muestra una tabla detallada de los métodos establecidos para el objeto Date.

Fecha y hora Método Distancia Ejemplo
Año setFullYear () AAAA 1970
Mes setMonth () 0-11 0 = enero
Dia del mes Establece la fecha () 1-31 1 = 1 ° del mes
Día de la semana setDay () 0-6 0 = domingo
Hora setHours () 0-23 0 = medianoche
Minuto setMinutes () 0-59
Segundo setSeconds () 0-59
Milisegundo setMilliseconds () 0-999
Sello de tiempo fijar tiempo () Número de milisegundos desde tiempo cero

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

// Cambiar el año de la fecha de cumpleaños
birthday.setFullYear (1997);
cumpleaños;
Jue 31 de julio de 1997 00:00:00 GMT + 0000 (UTC)

Ahora, cuando llama a la variable cumpleaños, no ve 1980, sino 1997.

Los métodos de establecimiento incorporados le permiten modificar diferentes partes del objeto Fecha.

Métodos UTC

Los métodos de obtención anteriores recuperan componentes de fecha basados ​​en configuraciones locales la zona horaria del usuario. Para aumentar el control sobre las fechas y horas, puede utilizar los métodos getUTC, que funcionan igual que los métodos get, pero calculan la hora en función de UTC (hora universal). A continuación se muestra una tabla de métodos UTC para el objeto Date en JavaScript.

Fecha y hora Método Distancia Ejemplo
Año getUTCFullYear () AAAA 1970
Mes getUTCMonth () 0-11 0 = enero
Dia del mes getUTCDate () 1-31 1 = 1 ° del mes
Día de la semana getUTCDay () 0-6 0 = domingo
Hora getUTCHours () 0-23 0 = medianoche
Minuto getUTCMinutes () 0-59
Segundo getUTCSeconds () 0-59
Milisegundo getUTCMilliseconds () 0-999

Para comprobar la diferencia entre los captadores locales y los captadores UTC, ejecute el siguiente código.

// Asignar la hora actual a una variable
const ahora = nueva fecha ();
// Imprimir zonas horarias locales y UTC
console.log (ahora.getHours ());
console.log (ahora.getUTCHours ());

Este código imprimirá la hora actual y la hora en la zona horaria UTC. Si se encuentra actualmente en la zona horaria UTC, los números que generará el programa serán los mismos.

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

Conclusión

En este tutorial, aprendió cómo crear una instancia de un objeto Date, cómo usar sus métodos integrados para acceder y cambiar los componentes de una fecha específica. Puede encontrar más información sobre la fecha y la hora en JavaScript en Mozilla Developer Network.

Saber cómo trabajar con fechas es importante para muchas tareas comunes en JavaScript, desde la creación de informes regulares hasta la visualización de fechas y horarios en la zona horaria correcta.

Etiquetas:

Utilice new Date () para crear un nuevo objeto Date que contenga la fecha y hora actuales.

tenga en cuenta que Fecha () invocable sin argumentos, es equivalente a nueva fecha (Date.now ()) .

Una vez que tenga un objeto de fecha, puede usar cualquiera de los varios métodos disponibles para recuperar sus propiedades (por ejemplo, getFullYear () para obtener un año de 4 dígitos).

A continuación se muestran algunos métodos habituales de fecha.

Obtener el año actual

var año = (nueva fecha ()). getFullYear (); console.log (año); // Salida de muestra: 2016

Obtener el mes actual

var mes = (nueva fecha ()). getMonth (); console.log (mes); // Salida de muestra: 0

Tenga en cuenta que 0 = enero. Esto se debe a que los meses van desde 0 antes de 11 por lo que a menudo es deseable agregar +1 al índice.

Obtener el día actual

var día = (nueva fecha ()). getDate (); console.log (día); // Salida de muestra: 31

Obtener la hora actual

var horas = (nueva fecha ()). getHours (); console.log (horas); // Salida de muestra: 10

Obtener minutos actuales

var minutes = (nueva fecha ()). getMinutes (); console.log (minutos); // Salida de muestra: 39

Obtener los segundos actuales

var segundos = (nueva Fecha ()). getSeconds (); console.log (segundo); // Salida de muestra: 48

Obtener los milisegundos actuales

Para obtener los milisegundos (0 a 999) de una instancia de un objeto Date, use el método getMilliseconds.

Var milisegundos = (nueva fecha ()). GetMilliseconds (); console.log (milisegundos); // Salida: milisegundos ahora mismo

Convierta la fecha y hora actuales en una cadena legible por humanos

var ahora = nueva fecha (); // convierte la fecha en una cadena en formato de zona horaria UTC: console.log (now.toUTCString ()); // Salida: miércoles 21 de junio de 2017 a las 09:13:01 GMT

El método estático Date.now () devuelve el número de milisegundos desde el 1 de enero de 1970 a las 00:00:00 UTC. Para obtener el número de milisegundos desde ese momento usando una instancia de objeto Date, use su método getTime.

// obtener milisegundos usando el método estático ahora de Date console.log (Date.now ()); // obtener milisegundos usando el método getTime of Date instancia console.log ((new Date ()). getTime ());

¡Hola, todos!
A menudo tengo que trabajar con datos estadísticos y hay muchos relacionados con las fechas. Además, la misma fecha se puede usar en la página en diferentes formatos (por ejemplo, en un conveniente para un automóvil y en un conveniente para una persona). Creo que la mayoría de ustedes conocen perfectamente todo este código horrible que viene con el uso de un objeto Date.
Por ejemplo, para obtener la fecha actual en el formato DD.MM.YYYY, debemos hacer lo siguiente:
var d = nueva fecha (), fd = d.getDate () + "." + (d.getMonth () + 1) + "." + d.getFullYear ();
¿Y cuando hay muchas de esas líneas? ¿Es fácil recordar que en javascript un mes empieza de cero cuando no solo desarrollas en él? ¿O el hecho de que hay milisegundos, no segundos, como casi en todas partes en el backend? Puede resolver algunos de los problemas con la popular biblioteca Moment.js, pero funciona muy lentamente.
La biblioteca en cuestión resuelve estos problemas.
Si está interesado, le sugiero que lea esta pequeña reseña.

TempusJS es una gran cantidad de azúcar sintáctico en el objeto Date, por lo que es muy rápido. La sintaxis de la biblioteca en sí es bastante simple. Por ejemplo, puede escribir el ejemplo anterior así:
var fd = tempus (). formato ("% d.% m.% Y");
Ahora sobre la velocidad. En el spoiler, puede ver una comparación de Tempus con Moment y el formato de fecha nativo (ver arriba):

Comparación de JS nativo, MomentJS y TempusJS

Obtenemos la fecha actual
JS nativo x 2,175,575 operaciones / seg ± 0.75% (96 corridas muestreadas) Momento x 284,864 operaciones / seg ± 0.85% (96 corridas muestreadas) Tempus x 2,086,081 operaciones / seg ± 0.73% (97 corridas muestreadas)
Formateo
JS nativo x 1,637,517 operaciones / seg ± 0.61% (100 corridas muestreadas) Momento x 8.808 operaciones / seg ± 1.07% (100 corridas muestreadas) Tempus x 942,815 operaciones / seg ± 0.68% (94 corridas muestreadas)
Autodetección y análisis de fechas
JS nativo x 11.204.316 operaciones / seg ± 0,81% (88 corridas muestreadas) Momento x 38.511 operaciones / seg ± 1.41% (95 corridas muestreadas) Tempus x 93.973 operaciones / seg ± 1.06% (85 corridas muestreadas)
Analizar una fecha por formato
Momento x 46.293 operaciones / seg ± 0.63% (100 corridas muestreadas) Tempus x 109.947 operaciones / seg ± 0.93% (99 corridas muestreadas)
Análisis y validación
Momento x 44.588 operaciones / seg ± 1.09% (90 corridas muestreadas) Tempus x 103.439 operaciones / seg ± 0.90% (94 corridas muestreadas)
Los resultados se obtuvieron en mi computadora portátil en Google Chrome 30.0.1599.114. En otros navegadores, los resultados son diferentes, pero la proporción sigue siendo aproximadamente la misma.
Se utilizó la biblioteca benchmark.js para las pruebas.
Benchmarks para otras funciones, puede ver.

Entonces, las ventajas de esta biblioteca se pueden escribir de la siguiente manera:

  • Soporta IE6 +, Chrome, Firefox, Opera;
  • Admite cadenas de llamadas;
  • Los meses pueden comenzar con 1 (predeterminado), no con cero;
  • Los milisegundos pueden desactivarse (predeterminado) o activarse;
  • Trabajo rápido (ya que, en muchos casos, se utiliza el objeto Date nativo del navegador, cuya implementación está escrita en lenguajes más rápidos);
  • Admite formatos y complementos personalizados
  • La validación de la fecha es muy rápida y depende solo de las funciones que establecen la fecha (dado que la validación ya se lleva a cabo cuando se ingresan los valores y no se calcula por separado);
  • Multilenguaje y autodetección del idioma del usuario.

Aquí solo hablaremos de algunas de las funciones.

Formateo y análisis

Entonces, para empezar, un ejemplo más de formato de fecha. También usamos el encadenamiento de llamadas aquí. Al final de cada configuración, obtenemos un objeto TempusDate que podemos usar más adelante en la cadena. Ejemplo:
tempus (). // obtener la nueva fecha calc ((mes: -1)). // disminuirlo en un formato de mes ("% d.% m.% Y"); // Salida como una cadena
Así, obtendremos el mismo día, hora y segundo, pero hace un mes. Esto es útil para obtener informes del último mes.

El siguiente ejemplo es analizar una fecha.
// Devuelve un objeto TempusDate con la fecha "2013-11-18" tempus ("18/11/2013"); // Devuelve un objeto TempusDate con la fecha "2013-12-12" tempus ("2013-12-12", "% Y-% m-% d"));
Tempus puede detectar automáticamente algunos formatos conocidos. Además, puede especificar un formato determinado, luego el análisis será más rápido. Además, puede establecer la fecha que se devolverá si el análisis falla:
// Porque "123" no coincide con el formato "% d.% M.% Y", luego // un objeto que contiene la fecha 2013-01-01 tempus ("123", "% d.% M.% Y", tempus ());
Se puede ver la lista de formatos predeterminados

Ahora cambiemos el formato de la fecha ya formateada.
// "2013-11-05" tempus ("05.11.2013"). Format ("% Y-% m-% d"); // Más o menos // "Octubre, 12" tempus ("2013-10-12 12:31:01", "% Y-% m-% d% H:% M:% S"). Format ("% B,% d ");

Además, puede utilizar la localización para formatear. De forma predeterminada, se seleccionará el idioma del usuario (tomado del navegador) o el idioma predeterminado si el idioma del usuario no se encuentra entre los idiomas disponibles de Tempus.
// Establecer el idioma tempus.lang ("ru"); // Usar formato por defecto // "05 de noviembre" tempus (1383609600) .format ("% B,% d");
Sobre este momento Solo hay dos idiomas: ruso e inglés, por lo que estaré encantado de ayudar.

Validación

La validación de la fecha es la siguiente:
// Devuelve falso tempus ("32/08/2013", "% d.% M.% Y"). Valid (); // Devuelve verdadero tempus ("00:00 01.01.2012", "% H:% M% d.% M.% Y"). Valid ();

En caso de error, puede ver los campos en los que ocurrió, siempre que el valor no sea falso:
// Devuelve ("año": - 5, "mes": falso, "día": falso, "horas": falso, // "minutos": falso, "segundos": falso, "milisegundos": falso) tempus (). año (-5). // establece el año = -5, es decir errores inválidos (); // obtener el objeto con errores

Intervalos de fechas

A veces necesitamos obtener la cantidad de años (por ejemplo, edad), meses, días, etc. entre dos fechas. Para ello, podemos utilizar el método between, que encuentra la diferencia entre dos fechas y devoluciones en el formato deseado ("año", "mes", "día", "horas", "minutos", "segundos", " milisegundos ").
A continuación, se muestra un ejemplo sencillo de cómo obtener el número de meses entre el 1 de noviembre de 2013 y el 5 de mayo de 2014:
// Devuelve 6 tempus (). Entre (tempus (), "mes");
O cuantas horas quedan para el año nuevo
tempus (). entre (tempus (), "horas");
En el último ejemplo, puede ver que solo especifiqué el año. Al establecer un valor en una matriz u objeto, los valores faltantes serán
lleno con el mínimo. Lista de constantes con valores mínimos, puedes verlo en la documentación.

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

Formatos personalizados

Aplicamos nuestro propio formato para el mes, que puede tomar valores del 1 al 12 (no del 01 al 12):
// Registrar un nuevo formato tempus.registerFormat ("% q", // directiva -% q function (date) (// Aquí especificamos la función de formateo, es decir, lo que se sustituirá por% q return date.month (); ), function (value) (// Y aquí está la función de análisis var v = Number (value); return (month: (isNaN (v)? undefined: v));), 1, // La longitud mínima que el valor 2 puede tomar, // Longitud máxima "número" // Tipo); // Prueba // Devuelve "01.1.2013"; tempus ((año: 2013, mes: 1, día: 1)). formato ("% d.% q.% Y"); // Devuelve ("año": 2013, "mes": 2, "día": 10, "horas": 0, "minutos": 0, "segundos": 0); tempus ("10.2.2013", "% d.% q.% Y"). get ();
Al registrarse, puede notar que algunos parámetros se configuran por separado, mientras que puede usar expresión regular... De hecho, inicialmente estaba allí, pero después de abandonarlo, la velocidad aumentó varias decenas de veces.
Si necesita eliminar un formato, utilice unregisterFormat:
tempus.unregisterFormat ("% d"); // Devuelve "% d.01.2013", porque la directiva% d ya no existe. tempus.format ((año: 2013, mes: 1, día: 1), "% d.% m.% Y");

Getters / Setters

Puede obtener / establecer algunos valores usando las funciones año (), mes (), día (), horas (), minutos (), segundos (), milisegundos (), dayOfWeek (), utc (), timestamp () o establecer (). Por ejemplo:
tempus (). // Obtiene la fecha actual del año (1900). // Déjelo como está, pero configúrelo en 1900 leapYear (); // Verifica si es un año bisiesto, en este caso false tempus (). Year (); // Y así es como obtenemos el año actual en forma numérica

Generando fechas

Puede generar una fecha de varias formas, Lista llena Los parámetros están en la documentación. He aquí un ejemplo mínimo.
// devuelve ["29/03/2013", "30/03/2013", "31/03/2013", "01/04/2013", "02/04/2013"]; tempus.generate ((dateFrom: "20130329", formatFrom: "% Y.% m.% d", dateTo: "20130402", período: (día: 1), formato: "% d.% m.% Y" ));
Esto puede ser útil para mostrar gráficos por fecha y cambiar el formato de visualización directamente en el cliente, sin preguntarle al backend. La fecha se puede generar tanto como una matriz como como objetos, donde las fechas mismas serán las claves (esto es útil cuando necesitamos vincular un evento a una fecha, por ejemplo, cuando estamos haciendo nuestro propio calendario). Además, las fechas se pueden agrupar por día, semana, mes, hora, año, lo que sea. Esto también se puede aplicar al calendario.

Complementos

Por último, pero no menos importante, los complementos. Aquí estamos ampliando la fábrica para generar una fecha aleatoria. También necesitamos la clase TempusDate, que se puede encontrar en tempus.classes (). Aquí hay un complemento de ejemplo:
(function (tempus) (var TempusDate = tempus.classes ("TempusDate"); tempus.randomDate = function () (var date = new TempusDate (); date.year (Math.floor ((Math.random () * ( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR)). month (Math.floor ((Math.random () * (tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)). day (Math. random () * (tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)). day floor ((Math.random () * (date.dayCount () - tempus.MIN_DAY)) + tempus.MIN_DAY)). horas (Math.floor ((Math.random () * (tempus.MAX_HOURS - tempus.MIN_HOURS)) + tempus.MIN_HOURS)). minutes (Math.floor ((Math.random () * (tempus.MAX_MINUTES - tempus. MIN_MINUTES)) + tempus.MIN_MINUTES)). Seconds (Math.floor ((Math.random () * (tempus.MAX_SECONDS - tempus.MIN_SECONDS)) + tempus.MIN_SECONDS)); fecha de regreso;);)) (tempus) ; // Ahora podemos crear fechas de la siguiente manera var someRandomDate = tempus.randomDate ();
Creo que de esta manera será posible escribir widgets convenientemente usando un montón de jQuery + Tempus, Angular + Tempus, etc.

Códigos fuente

Puede instalar descargando las fuentes desde github:
https://github.com/crusat/tempus-js/releases
O a través de bower:
$ bower instalar tempus
Solo necesita un archivo: tempus.js o tempus.min.js.

Espero que esta biblioteca sea útil, y también sería interesante saber qué le falta para seguir desarrollando la biblioteca en la dirección correcta. ¡Gracias por la atención!
PD ¡Gracias por la invitación!

Otra cosa útil para los sitios web es insertar la fecha actual. Hay docenas de ejemplos de scripts de fechas en Internet, pero muchos de ellos, en mi opinión, son pesados ​​y, por lo tanto, feos. Mientras tanto, usando medios estándar JavaScript, es muy fácil insertar una fecha en una página web. ¡Lo uso muy a menudo! En la imagen (captura de pantalla del sitio actual) finca "Cuento de hadas" !

Aquí está el script de fecha completo:

En mi opinión, no podría ser más fácil, es bastante bonito y comprensible. Si no desea estudiar la construcción de este script, simplemente péguelo en cualquier lugar de la página HTML y obtendrá la siguiente inscripción:

Otra opción es más avanzada


! Hoy dia

Se parece a esto:

Hoy dia

En general, no se requieren habilidades, simplemente inserte estúpidamente el código y todo estará bien.

Más detalles:

Entonces, comenzamos asignando un valor de fecha a una 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: caso, número, letra mayúscula si la palabra está al principio de una fecha, etc. La última línea del guión es la fecha real impresa ( document.write). Aquí establece qué y en qué secuencia se mostrará la fecha actual en la cadena. Los componentes están separados entre sí por el signo + ... Para ingresar a un espacio, use la construcción " " , y para ingresar la letra g (año) - la construcción "G."

Como puede ver en el script, el elemento obtiene datos sobre la hora actual obtener... Este método proporciona la siguiente información:

  • obtener la fecha ()- devuelve un número del 1 al 31 que representa el día del mes;
  • getDay ()- devuelve el día de la semana como un número entero de 0 (domingo) a 6 (sábado);
  • getMonth ()- devuelve el número del mes del año;
  • getFullYear ()- devuelve el año. Para usar simplemente getYear (), se mostrará el año actual menos 1900;
  • obtener horas ()- devuelve la hora del día;
  • getMinutes ()- devuelve los minutos como un número del 0 al 59;
  • getSeconds ()- devuelve el número de segundos de 0 a 59.

Pegar directamente Java-El guión dentro de la página del sitio no siempre es conveniente. Es mejor poner la descripción del script en la parte superior de la página entre etiquetas. y establezca una variable que llamaremos según sea necesario en el texto. Vamos a llamarlo HOY DIA y defina el formulario de visualización de la fecha de manera similar a lo anterior. El guión se verá así:

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

Si su sitio contiene muchas páginas en las que desea mostrar la fecha, entonces es más conveniente resaltar Java-script para mostrar la fecha en archivo separado, por ejemplo, data.js... En la práctica, esta es una página que consta del primero de los scripts descritos, es decir, con la línea document.write(véase más arriba). Debe colocarse en el mismo directorio que la página principal y llamarse en el lugar de salida de la fecha de la siguiente manera:

No olvide comprobar que el archivo data.js tenía la misma codificación que el documento principal; de lo contrario, la fecha se mostrará con maravillosos ganchos, cuadrados y otros ajustes.

Comentario. Debe tenerse en cuenta que el script descrito muestra la fecha configurada en el equipo del usuario, que no siempre corresponde a la hora actual real. Si necesita mostrar la hora exacta, debe usar un script PHP que mostrará la hora en el servidor.