O objeto Date existe desde os primórdios do JavaScript.
Ele parece simples, mas é responsável por uma quantidade enorme de bugs em aplicações reais.
Antes de aprender alternativas modernas, precisamos entender:
por que o Date é problemático.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender as limitações do objeto
Date - Reconhecer bugs comuns envolvendo datas
- Identificar armadilhas com fusos horários
- Separar formatação de lógica de datas
- Compreender por que novas APIs surgiram
O objeto Date parece simples…
À primeira vista, tudo parece tranquilo:
const agora = new Date();
console.log(agora);
// Saída será algo como: Wed Jan 21 2026 14:00:00 GMT-0300
Mas essa simplicidade é enganosa.
Problema 1 — Meses começam em zero 🤯
const data = new Date(2026, 0, 21);
console.log(data);
// Saída será: 21 de janeiro de 2026
Aqui:
- Janeiro = 0
- Fevereiro = 1
- Dezembro = 11
Problema 2 — Mutabilidade silenciosa
O objeto Date é mutável.
const data = new Date();
data.setDate(data.getDate() + 1);
console.log(data);
// Saída será: data alterada
Se você passar esse objeto para outra função:
- ele pode ser alterado sem aviso
- bugs aparecem longe da origem
Problema 3 — Fuso horário implícito
Veja este código:
const data = new Date("2026-01-21");
console.log(data);
// Saída depende do fuso horário
Dependendo do fuso:
- a data pode virar dia 20
- ou dia 21
Problema 4 — Strings ambíguas
O Date aceita vários formatos de string:
new Date("01/02/2026"); // ❓ Isso é:
- 1 de fevereiro?
- 2 de janeiro?
Problema 5 — API confusa e extensa
O objeto Date tem:
- getDate
- getDay
- getMonth
- getFullYear
E todos retornam números diferentes com significados diferentes.
Problema 6 — Cálculos são perigosos
const inicio = new Date("2026-01-01");
const fim = new Date("2026-02-01");
const diferenca = fim - inicio;
console.log(diferenca);
// Saída será: milissegundos
Você recebe:
- milissegundos
- sem contexto
- sem semântica
Problema 7 — Mistura de responsabilidades
O Date tenta ser tudo ao mesmo tempo:
- data
- hora
- fuso
- formatação
Isso gera:
- API inchada
- pouca clareza
Tentativas de solução (parciais)
Ao longo dos anos, surgiram alternativas:
- moment.js (hoje descontinuado)
- date-fns
- luxon
Mas o JavaScript precisava de algo:
nativo, moderno e correto.
Resumo do problema
- API antiga
- mutável
- confusa
- dependente de fuso
- propensa a erros
Date. Resumo da aula para nunca mais esquecer
- O objeto
Dateé antigo e problemático - Meses começam em zero
- Datas são mutáveis
- Fusos causam bugs silenciosos
- Precisamos de uma alternativa moderna
Na próxima aula, vamos conhecer essa alternativa:
Introdução à 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.
Você Sabia?
ENIAC
O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.
Space Invaders
A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".
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.
Mega Man
A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.










