Chegamos ao ponto em que já entendemos:

  • por que o Date é problemático
  • como a Temporal API resolve a lógica de datas
  • como a API Intl cuida da exibição

Agora vamos amarrar tudo isso em um conjunto de boas práticas modernas.

🎯 Objetivo da aula

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

  • Evitar bugs clássicos com datas
  • Separar lógica de exibição
  • Escolher o tipo correto de data
  • Escrever código previsível e confiável

1️⃣ Separe lógica de exibição

Essa é a regra mais importante:

Nunca use datas formatadas para lógica.

❌ Errado:

 if (dataFormatada === "21/01/2026") { // lógica } 

✅ Correto:

 
  const data = Temporal.PlainDate.from("2026-01-21");
  if (data.equals(Temporal.PlainDate.from("2026-01-21"))) {
    // lógica
  }

2️⃣ Use o tipo certo para cada problema

Não existe “uma data universal”.

  • Temporal.Instant → tempo absoluto (logs, banco)
  • Temporal.PlainDate → datas sem hora
  • Temporal.PlainTime → horários isolados
  • Temporal.ZonedDateTime → eventos reais com fuso
Escolher o tipo errado gera bugs silenciosos.

3️⃣ Armazene datas de forma neutra

Em bancos de dados e APIs:

  • use UTC
  • use ISO 8601
  • evite datas locais
 
  const agora = Temporal.Now.instant();
  console.log(agora.toString());
  // Saída será algo como: 2026-01-21T17:00:00Z

4️⃣ Sempre seja explícito com fusos

Se o fuso importa, ele deve aparecer no código.

 const evento = Temporal.ZonedDateTime.from( "2026-01-21T14:00[America/Sao_Paulo]" ); 
Fusos implícitos são inimigos da previsibilidade.

5️⃣ Nunca confie em strings ambíguas

❌ Evite:

 new Date("01/02/2026"); // ambíguo 

✅ Prefira:

 Temporal.PlainDate.from("2026-02-01"); 

6️⃣ Cálculos devem ser semânticos

Evite trabalhar com milissegundos.

 
  const inicio = Temporal.PlainDate.from("2026-01-01"); 
  const fim = Temporal.PlainDate.from("2026-01-21");
  const diff = fim.since(inicio);
  console.log(diff.days); // Saída será: 20

O código expressa claramente a intenção.

7️⃣ Use Intl apenas para exibição

Depois de resolver a lógica com Temporal:


  const formatador = new Intl.DateTimeFormat("pt-BR", { dateStyle: "long" });
  console.log(formatador.format(new Date()));
  // Saída será algo como: 21 de janeiro de 2026
Intl mostra — Temporal decide.

8️⃣ Centralize regras de datas

Evite espalhar lógica de datas pelo código.

Crie funções ou módulos específicos:

 
  function criarEvento(dataISO, fuso) 
  { 
    return Temporal.ZonedDateTime.from( `${dataISO}[${fuso}]` );
  } 

9️⃣ Teste datas em fusos diferentes

Sempre que possível:

  • teste em fusos diferentes
  • simule usuários internacionais
  • desconfie de “funciona na minha máquina”

Resumo das boas práticas

  • separe lógica e exibição
  • seja explícito com fusos
  • use tipos corretos
  • prefira Temporal ao Date
  • use Intl apenas para mostrar

Resumo da aula para nunca mais esquecer

  • Datas são complexas por natureza
  • Boas práticas evitam bugs silenciosos
  • Temporal resolve lógica
  • Intl resolve exibição
  • Código claro vence atalhos

Com isso, encerramos o bloco moderno de datas e horários.

Estamos prontos para seguir para o próximo grande capítulo do curso 🚀


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 título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.


O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


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 ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.