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 Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.


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.


Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. 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.


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.