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 filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.


O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.


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.