🔁 Nova API (java.time) não é uma cópia do Joda-Time, mas sim inspirada nela.

✍️ Foi baseada nas falhas de design identificadas por Stephen Colebourne (autor do Joda-Time).

❌ Uso de null no Joda-Time:

  • Era permitido em vários métodos.
  • null tinha significados diferentes dependendo do contexto:
  • Para datas: null → 1970-01-01T00:00Z
  • Para Duration e Period: null → zero.
  • Isso tornava o código propenso a bugs.

🧱 Design da nova API evita nulos:

  • Métodos lançam exceções em vez de aceitar null silenciosamente.
  • Mais seguro e previsível.

⌛ Problemas com DateTime no Joda:

  • DateTime implementava ReadableInstant, mas também era usada como representação humana do tempo.
  • Isso causava confusão: mistura de tempo de máquina com tempo humano.
  • Limitava-se à precisão de milissegundos.