Na aula anterior, vimos por que o objeto Date causa tantos problemas.

Agora vamos conhecer a resposta moderna do JavaScript para trabalhar com datas e horários:

a Temporal API.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender o que é a Temporal API
  • Conhecer os principais tipos de data e hora
  • Compreender a filosofia por trás da API
  • Perceber como ela corrige os problemas do Date

O que é a Temporal API?

A Temporal API é uma API moderna do JavaScript criada para:

  • substituir o objeto Date
  • tratar datas e horários de forma correta
  • eliminar ambiguidades de fuso e formatação

Ela foi projetada com base em anos de problemas reais enfrentados por desenvolvedores.

Estado atual da Temporal API

É importante ser transparente:

  • a Temporal API é um padrão em evolução
  • já está disponível em ambientes modernos
  • pode exigir polyfill em alguns navegadores
A ideia aqui é aprender o modelo mental moderno, não apenas decorar sintaxe.

A filosofia da Temporal API

A Temporal API segue alguns princípios claros:

  • imutabilidade
  • tipos explícitos
  • separação de responsabilidades

Cada tipo representa um conceito específico de tempo.

Principais tipos da Temporal API

Vamos conhecer os mais importantes:

  • Temporal.Now
  • Temporal.PlainDate
  • Temporal.PlainTime
  • Temporal.PlainDateTime
  • Temporal.ZonedDateTime
  • Temporal.Duration

Não se preocupe em memorizar tudo agora — vamos por partes.

Temporal.Now — o “agora” correto

Para obter o momento atual:

 
  const agora = Temporal.Now.instant();
  console.log(agora.toString());
  // Saída será algo como: 2026-01-21T17:00:00Z

Aqui:

  • o valor é absoluto
  • independente de fuso
  • ideal para registros e logs

Temporal.PlainDate — apenas a data

Quando você só precisa de uma data:

 
  const aniversario = Temporal.PlainDate.from("2026-01-21");
  console.log(aniversario.toString());
  // Saída será: 2026-01-21

Sem hora, sem fuso, sem surpresas.

Temporal.PlainTime — apenas o horário

 
  const horario = Temporal.PlainTime.from("14:30");
  console.log(horario.toString());
  // Saída será: 14:30:00

Perfeito para:

  • horários comerciais
  • agendas

Temporal.PlainDateTime — data + hora

 
  const evento = Temporal.PlainDateTime.from("2026-01-21T14:30");
  console.log(evento.toString());
  // Saída será: 2026-01-21T14:30:00

Aqui ainda não existe fuso horário.

Temporal.ZonedDateTime — data, hora e fuso

Quando o fuso importa:

 
  const eventoSP = Temporal.ZonedDateTime.from("2026-01-21T14:30[America/Sao_Paulo]");
  console.log(eventoSP.toString());
  // Saída será algo como: 2026-01-21T14:30:00-03:00[America/Sao_Paulo]
Aqui não há ambiguidade: o fuso está explícito.

Temporal.Duration — períodos de tempo

 
  const duracao = Temporal.Duration.from({ days: 7 });
  console.log(duracao.toString());
  // Saída será: P7D

Ideal para:

  • prazos
  • intervalos
  • cálculos de tempo

Por que a Temporal API é melhor?

  • imutável (não muda sem você querer)
  • tipos claros
  • sem meses começando em zero
  • fusos explícitos

Cada problema clássico do Date foi tratado diretamente.

Integração com Intl

A Temporal API cuida da lógica.

A API Intl cuida da exibição.

Essa separação é proposital e saudável.

Resumo da aula para nunca mais esquecer

  • A Temporal API é a evolução do Date
  • Ela é imutável e explícita
  • Existem tipos diferentes para cada conceito de tempo
  • Fusos são tratados corretamente
  • Intl e Temporal se complementam

Na próxima aula, vamos trabalhar com datas e fusos horários na prática usando a Temporal API.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.


Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.