A resposta é: depende
JODA (e JSR-310) é uma biblioteca de data / hora totalmente funcional, incluindo suporte para uso com vários sistemas de calendário.
Pessoalmente, achei o JODA um passo longe demais em termos de complexidade para o que eu precisava. Os 2 erros principais (IMHO) no java Date
e nas Calendar
classes padrão são:
- Eles são mutáveis
- Eles misturam o conceito de Ano-Mês-Dia a partir de um Instant-In-Time
Embora esses tópicos sejam abordados pelo JODA, você achará muito fácil rolar suas próprias classes para YearMonthDay
e Instant
, que usam as classes java sob o capô para cálculos "calendricais" reais. Então você não precisa se familiarizar com uma API de> 100 classes, um mecanismo de formatação / análise diferente etc.
Obviamente, se você precisa de uma representação completa de cronologias diferentes (por exemplo, hebraico) ou deseja poder definir seu próprio sistema imaginário de calendário (por exemplo, para um jogo que está escrevendo), talvez JODA ou JRS-310 seja para você. Se não, então eu sugeriria que rolar o seu próprio é possivelmente o caminho a percorrer.
O líder de especificação do JSR-310 é Stephen Colebourne, que escreveu o JODA em primeiro lugar, portanto substituirá logicamente o JODA.