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?
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Computadores de 1,5 tonelada
Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.
Donkey Kong
A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.
PC com barulho?
Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.
Civilization
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.










