2.1 Objeto Date
Trabalhar com datas e números é uma parte importante do desenvolvimento de aplicativos web. JavaScript fornece objetos e métodos embutidos
para manipular datas e números. Nesta palestra, vamos dar uma olhada no objeto Date
, seus métodos e formas de formatar datas e números.
O objeto Date
no JavaScript representa uma data e hora. Ele possui muitos métodos para trabalhar com datas,
incluindo obter a data e a hora atuais, definir data e hora, além de formatação.
Criando um objeto Date
Date()
sem parâmetros, ele conterá a data e hora atuais — o momento de sua criação.
Você pode criar um objeto Date
de várias maneiras.
1. Data e hora atuais:
const now = new Date();
console.log(now); // Exibe a data e hora atuais
2. Definindo uma data e hora específica:
const specificDate = new Date('2024-07-07T10:00:00');
console.log(specificDate); // Exibe a data 7 de julho de 2024
3. Definindo data e hora usando valores numéricos:
const anotherDate = new Date(2024, 6, 7, 10, 0, 0);
console.log(anotherDate); // Exibe a data 7 de julho de 2024
2.2 Métodos do objeto Date()
Obtendo componentes de data:
getFullYear()
: obter o ano (quatro dígitos)getMonth()
: obter o mês (de 0 a 11)getDate()
: obter o dia do mês (de 1 a 31)getHours()
: obter as horas (de 0 a 23)getMinutes()
: obter os minutos (de 0 a 59)getSeconds()
: obter os segundos (de 0 a 59)
Exemplo:
const now = new Date();
console.log(now.getFullYear()); // Ano atual
console.log(now.getMonth()); // Mês atual (-1)
console.log(now.getDate()); // Dia atual
console.log(now.getHours()); // Hora atual
console.log(now.getMinutes()); // Minuto atual
console.log(now.getSeconds()); // Segundo atual
Configurando componentes de data:
setFullYear(year)
: definir o anosetMonth(month)
: definir o mêssetDate(day)
: definir o dia do mêssetHours(hours)
: definir as horassetMinutes(minutes)
: definir os minutossetSeconds(seconds)
: definir os segundos
Exemplo:
const date = new Date();
date.setFullYear(2025);
date.setMonth(0); // Janeiro
date.setDate(15);
date.setHours(12);
date.setMinutes(30);
date.setSeconds(45);
console.log(date.toString());
2.3 Formatação de datas
O JavaScript fornece métodos para formatar datas em uma string. O método mais popular é toLocaleDateString()
para formatar a data dependendo do locale.
Exemplo de utilização do toLocaleDateString():
const now = new Date();
console.log(now.toLocaleDateString('en-US')); // "7/7/2024" (MM/DD/YYYY)
console.log(now.toLocaleDateString('en-GB')); // "07/07/2024" (DD/MM/YYYY)
console.log(now.toLocaleDateString('ru-RU')); // "07.07.2024" (DD.MM.YYYY)
Método toLocaleTimeString()
O método toLocaleTimeString()
retorna a hora em formato de string localizado:
const now = new Date();
console.log(now.toLocaleTimeString('en-CA'));
console.log(now.toLocaleTimeString('en-GB'));
Método toLocaleString()
O método toLocaleString()
retorna a data e a hora em formato de string localizado:
const now = new Date();
console.log(now.toLocaleString('en-CA'));
console.log(now.toLocaleString('en-GB'));
Método toISOString()
O método toISOString()
retorna a data e a hora no formato ISO 8601:
const now = new Date();
console.log(now.toISOString()); // "2023-07-05T10:00:00.000Z"
2.4 Formatação de números
Método toLocaleString()
O método toLocaleString()
permite formatar números de acordo com as configurações locais:
const number = 1234567.89;
console.log(number.toLocaleString()); // "1,234,567.89" no formato dos EUA ou "1 234 567,89" no formato local
console.log(number.toLocaleString('de-DE')); // "1.234.567,89" no formato da Alemanha
Formatação de números com Intl.NumberFormat
O construtor Intl.NumberFormat
oferece ainda mais flexibilidade para formatar números:
const number = 1234567.89;
const usFormatter = new Intl.NumberFormat('en-US');
console.log(usFormatter.format(number)); // "1,234,567.89"
const deFormatter = new Intl.NumberFormat('de-DE');
console.log(deFormatter.format(number)); // "1.234.567,89"
const customFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
});
console.log(customFormatter.format(number)); // "$1,234,567.89"
GO TO FULL VERSION