Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Date
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
* Some parts of this feature may have varying levels of support.
Resumo
Cria uma instância JavaScript deDate que representa um único momento no tempo. Objetos Date são baseados no valor de tempo que é o número de milisegundos desde 1º de Janeiro de 1970 (UTC).
In this article
Construtor
new Date();new Date(valor);new Date(dataString);new Date(ano, mês, dia, hora, minuto, segundo, milissegundo);Nota:Note que objetos JavaScriptDate só podem ser instanciados chamando JavaScriptDate como um construtor: chamá-lo como uma função regular (ou seja, sem o operadornew) irá retornar uma string ao invés de um objetoDate; ao contrário de outros tipos de objetos JavaScript, objetos JavaScriptDate não têm sintaxe literal.
Parâmetros para o constructor Date
Nota: Quando Date for chamado como um construtor com mais de um argumento, se os valores forem maiores do que seu limite lógico (e.g. se 13 for fornecido como um valor para mês ou 70 for o valor para minuto), o valor adjacente será ajustado. E.g. new Date(2013, 13, 1) é equivalente a new Date(2014, 1, 1), ambos criam uma data para 2014-02-01 (note que o mês começa em 0). Similarmente para outros valores: new Date(2013, 2, 1, 0, 70) é equivalente a new Date(2013, 2, 1, 1, 10), pois ambos criam uma data para 2013-03-01T01:10:00.
valueUm valor inteiro representando o número de milisegundos desde 1 de Janeiro de 1970 00:00:00 UTC (Era Unix ou Marco Zero).
dataStringUm valor do tipo String que representa uma data. A string deverá estar uma formato reconhecido pelo método
Date.parse()(IETF-compliant RFC 2822 timestamps e também umaversão da ISO8601).yearUm valor inteiro que representa o ano. Valores de 0 a 99 correspondem aos anos de 1900 a 1999. Veja oexemplo abaixo.
monthUm valor inteiro que representa o mês, começando com 0 para Janeiro até 11 para Dezembro.
dayUm valor inteiro que representa o dia do mês.
hourUm valor inteiro que representa a hora do dia.
minuteUm valor inteiro que representa o segmento de um minuto de tempo.
secondUm valor inteiro que representa o segmento de segundo do tempo.
millisecondUm valor inteiro que representa o segmento de milisegundo do tempo.
Descrição
- Se nenhum argumento for fornecido, o construtor criará um objeto JavaScript Date com a data e hora corrente de acordo com as configurações do sistema.
- Se ao menos 2 argumentos forem fornecidos, os argumentos ausentes serão configurados como 1 (se o dia estiver ausente) ou 0 para todos os outros.
- A data do JavaScript é baseada no valor de tempo em milisegundos desde a meia noite de 01 de Janeiro de 1970, UTC. Um dia corresponde a 86.400,000 milisegundos. O intervalo do objeto Date no JavaScript é de -100.000,000 dias a 100.000,000 dias relativo a 01 de Janeiro de 1970, UTC.
- O objeto Date no JavaScript tem um comportamento uniforme nas plataformas. O valor do tempo pode ser transmitido entre sistemas para representar o mesmo instante no tempo e se for usado para criar um objeto de data local, ele refletirá o tempo local equivalente.
- O objeto Date JavaScript suporta vários métodos UTC (universal), assim como métodos de tempo locais. UTC, também conhecido como Tempo Médio de Greenwich (Greenwich Mean Time, GMT), refere-se ao tempo como definido pelo Padrão de Tempo Mundial (World Time Standard). O tempo local é o tempo conhecido pelo computador onde o JavaScript é executado.
- Invocar o objeto Date no JavaScript como uma função (i.e., sem o operadornew) retornatá uma string representando a data e hora corrente.
Propriedades
Date.prototypePermite adicionar propriedades a um objeto javaScript Date.
- Date.length
O valor de
Date.lengthé 7. Esse é o número de argumentos manipulados pelo construtor.
Métodos
Date.now()Retorna o valor numérico correspondente ao tempo corrente - o número de milisegundos passados desde 1 de Janeiro de 1970 00:00:00 UTC.
Date.parse()Analisa uma string que representa uma data e retorna o número de milisegundos desde 1 de Janeiro, 1970, 00:00:00, hora local.
Date.UTC()Aceita os mesmos parâmetros como a forma mais longa do construtor (i.e. 2 até 7) e retorna o número de milisegundos desde 1 de Janeiro, 1970, 00:00:00 UTC.
Instâncias JavaScript deDate
Todas as instânciasDate são herdadas deDate.prototype. O objeto protótipo do construtorDate pode ser modificado para afetar todas as instâncias deDate.
Métodos
Exemplos
>Várias formas de se criar um objeto Date
Os seguintes exemplos mostram várias formas de se criar datas em #"December 17, 1995 03:24:00");var birthday = new Date("1995-12-17T03:24:00");var birthday = new Date(1995, 11, 17);var birthday = new Date(1995, 11, 17, 3, 24, 0);
Anos com dois dígitos mapeados para 1900 - 1999
Para criar e obter datas entre os anos 0 e 99 os métodosDate.prototype.setFullYear() eDate.prototype.getFullYear() devem ser usados.
var data = new Date(98, 1); // Dom Fev 01 1998 00:00:00 GMT+0000 (GMT)// Métodos em desuso, 98 mapeia para 1998 aqui tambémdata.setYear(98); // Dom Fev 01 1998 00:00:00 GMT+0000 (GMT)data.setFullYear(98); // Sab Fev 01 0098 00:00:00 GMT+0000 (BST)Calculando o tempo decorrido
Os seguintes exemplos mostram como determinar o tempo decorrido entre duas datas no JavaScript em milissegundos.
Devido aos tamanhos diferentes dos dias (devido à mudança do horário de verão), meses e dias, expressar o tempo decorrido em unidades maiores que horas, minutos e segundos requer analisar os problemas e deve ser cuidadosamente investigado antes de se tentar utilizar.
// usando objetos Datevar inicio = Date.now();// o evento para o tempo vai aqui:facaAlgoPorUmLongoTempo();var fim = Date.now();var decorrido = fim - inicio; // tempo decorrido em milisegundos// utilizando métodos embutidosvar inicio = new Date();// o evento para o tempo vai aqui:facaAlgoPorUmLongoTempo();var fim = new Date();var decorrido = fim.getTime() - inicio.getTime(); // tempo decorrido em milisegundos// para testar uma função e obter o seu retornofunction imprimirTempoDecorrido(fTeste) { var nHoraInicial = Date.now(), vRetorno = fTeste(), nHoraFinal = Date.now(); alert( "Tempo decorrido: " + String(nHoraFinal - nHoraInicial) + " milisegundos", ); return vRetorno;}retornoDaSuaFuncao = imprimirTempoDecorrido(suaFuncao);Nota:Em navegadores que suportam a API de Desempenho Web (Web Performance API) com o recurso de tempo de alta resolução,Performance.now() pode fornecer medidas de tempo decorrido mais confiáveis e precisas do queDate.now().
Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-date-objects> |