⊗jsPmTmAA 322 of 505 menu

Ajuste automático de datas em JavaScript

JavaScript tem uma característica muito interessante e útil: se um momento de tempo inválido for especificado ao criar um objeto Date, ele será automaticamente recalculado para um momento válido. Vamos ver um exemplo.

Como você sabe, não existe o dia 35 de janeiro. O dia máximo possível em janeiro é 31. Isso significa que nossa data de 35 de janeiro tem 4 dias extras. Nesse caso, o JavaScript simplesmente adicionará esses 4 dias extras ao próximo mês:

let date = new Date(2018, 0, 35); console.log(date); // resultará em 4 de fevereiro

Você pode especificar meses extras, não apenas dias extras. Lembre-se de que os meses começam em zero, portanto, o último mês válido é o 11. Se você especificar o 12 mês, obterá janeiro do próximo ano:

let date = new Date(2018, 12, 1); // especificamos o 12º mês console.log(date); // resultará em 1º de janeiro de 2019

O ajuste descrito também funciona na direção decrescente. Como você sabe, o dia mais baixo do mês é o dia número 1. Portanto, se você especificar o dia número 0, obterá o último dia do mês anterior:

let date = new Date(2018, 1, 0); // especificamos o dia zero console.log(date); // resultará em 31 de janeiro

Você também pode especificar valores negativos para dias e meses. Lembre-se de que o dia mínimo tem o número 1 e o mês mínimo tem o número 0. Isso significa que o dia -1 corresponde ao 2 dia a partir do final do mês anterior, e o mês -1 simplesmente corresponde ao último mês do ano anterior:

let date = new Date(2018, 1, -1); // especificamos -1 dia console.log(date); // resultará em 30 de janeiro
let date = new Date(2018, -1, 1); // especificamos -1 mês console.log(date); // resultará em 1º de dezembro de 2017

Tudo o que foi dito acima também funciona com horas, minutos e segundos:

let date = new Date(2018, 0, 1, 24, 0, 0); // especificamos a 24ª hora console.log(date); // resultará em 2 de janeiro, 0 horas
let date = new Date(2018, 0, 1, 25, 0, 0); // especificamos a 25ª hora console.log(date); // resultará em 2 de janeiro, 1 hora

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 1, 35); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 15, 1); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 3, 31); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 1, 31); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 12, 33); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 33, 33); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 5, 0); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 0, 0); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, -12, -33); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // qual será a data?

Determine para qual data JavaScript converterá o seguinte momento de tempo:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // qual será a data?
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar