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.