Por que manipular a API de Data do JS é importante para seus códigos
Manipular datas e horas é importante em muitos cenários de desenvolvimento de software, como:
- Gerenciamento de prazos: é comum precisarmos adicionar ou subtrair dias, semanas ou meses de uma data para determinar o prazo para uma tarefa ou entrega.
- Cálculo de idade: para determinar a idade de uma pessoa, precisamos calcular a diferença entre sua data de nascimento e a data atual.
- Gerenciamento de tempo: em aplicativos de gestão de tempo, é comum precisarmos adicionar ou subtrair horas ou minutos de uma data para determinar a duração de uma tarefa ou atividade.
- Sincronização de dados: ao sincronizar dados entre sistemas, é importante garantir que as datas e horas estejam corretas para evitar erros ou problemas de consistência de dados.
- Formatos de data e hora personalizados: é comum precisarmos formatar datas e horas para apresentações personalizadas em diferentes aplicativos ou sistemas. A manipulação de datas e horas é uma das etapas para conseguir esse formato.
Em resumo, a manipulação de datas e horas é crucial em muitos cenários de desenvolvimento de software para garantir a consistência e precisão de informações relacionadas ao tempo.
Adicionando ou removendo dias, meses e anos
// Criação de uma data de referência
const date = new Date("2023-01-01");
// Adição de 3 meses à data de referência
const added = new Date(date);
added.setMonth(added.getMonth() + 3);
console.log(added.toISOString().substr(0, 10)); // 2023-04-01
// Subtração de 4 meses da data de referência
const subtracted = new Date(date);
subtracted.setMonth(subtracted.getMonth() - 4);
console.log(subtracted.toISOString().substr(0, 10)); // 2023-10-01
// Adição de 3 dias à data de referência
const added = new Date(date);
added.setDate(added.getDate() + 3);
console.log(added.toISOString().substr(0, 10)); // 2023-01-04
// Subtração de 4 dias da data de referência
const subtracted = new Date(date);
subtracted.setDate(subtracted.getDate() - 4);
console.log(subtracted.toISOString().substr(0, 10)); // 2023-12-28
// Adição de 3 anos à data de referência
const added = new Date(date);
added.setFullYear(added.getFullYear() + 3);
console.log(added.toISOString().substr(0, 10)); // 2023-01-01
// Subtração de 4 anos da data de referência
const subtracted = new Date(date);
subtracted.setFullYear(subtracted.getFullYear() - 4);
console.log(subtracted.toISOString().substr(0, 10)); // 2023-01-01
Para manipulação de meses usamos o método setMonth() para adicionar ou subtrair meses à data e o método getMonth() para obter o número do mês atual.
Para manipulação de dias usamos o método setDate() para adicionar ou subtrair dias à data e o método getDate() para obter o número do dia atual.
Para manipulação de anos usamos o método setFullYear() para adicionar ou subtrair anos à data e o método getFullYear() para obter o ano atual.
Em todos os casos estamos usando o método toISOString() para formatar a data resultante como uma string no formato ISO.
Adicionando ou removendo horas, minutos e segundos
// Criação de uma data de referência
const date = new Date("2023-01-01T00:00:00");
// Adição de 3 horas à data de referência
const addedHours = new Date(date);
addedHours.setHours(addedHours.getHours() + 3);
console.log(addedHours.toISOString()); // 2023-01-01T03:00:00.000Z
// Adição de 30 minutos à data de referência
const addedMinutes = new Date(date);
addedMinutes.setMinutes(addedMinutes.getMinutes() + 30);
console.log(addedMinutes.toISOString()); // 2023-01-01T00:30:00.000Z
// Adição de 45 segundos à data de referência
const addedSeconds = new Date(date);
addedSeconds.setSeconds(addedSeconds.getSeconds() + 45);
console.log(addedSeconds.toISOString()); // 2023-01-01T00:00:45.000Z
// Subtração de 2 horas da data de referência
const subtractedHours = new Date(date);
subtractedHours.setHours(subtractedHours.getHours() - 2);
console.log(subtractedHours.toISOString()); // 2023-12-31T22:00:00.000Z
// Subtração de 15 minutos da data de referência
const subtractedMinutes = new Date(date);
subtractedMinutes.setMinutes(subtractedMinutes.getMinutes() - 15);
console.log(subtractedMinutes.toISOString()); // 2023-12-31T23:45:00.000Z
// Subtração de 30 segundos da data de referência
const subtractedSeconds = new Date(date);
subtractedSeconds.setSeconds(subtractedSeconds.getSeconds() - 30);
console.log(subtractedSeconds.toISOString()); // 2023-12-31T23:59:30.000Z
Aqui, estamos usando os métodos setHours(), setMinutes() e setSeconds() para adicionar ou subtrair horas, minutos e segundos à data, respectivamente. Além disso, estamos usando os métodos getHours(), getMinutes() e getSeconds() para obter o número de horas, minutos e segundos atual, respectivamente.

