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:
❌ 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 horaTemporal.PlainTime→ horários isoladosTemporal.ZonedDateTime→ eventos reais com fuso
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]" ); 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
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.
Você Sabia?
Pac Man
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.
Recorde de patentes
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.
Mario em Donkey Kong
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.
Música tema do Blanka
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.
River Raid
O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.










