16.3.07

Vem aí: mais uma API Java para manipulação de datas

Todo programador Java já passou pelo trauma que é manipular datas no Java. Constatar que Janeiro é o mês zero. Perceber que objetos Date são representações absolutas de tempo (milissegundos transcorridos desde 1 de janeiro de 1970), mas as vezes quando você serializa a data de lá pra cá (especialmente através de drivers jdbc), os milissegundos mudam. Descobrir que não existe um jeito conveniente de calcular diferença de dias (ou horas, ou minutos) entre dois períodos. Sem falar nas infindáveis dores de cabeça causadas por bugs na tabela de horário de verão.
Agora a Sun anunciou a cura de todos os problemas: um novo JSR todinho para implementar uma nova API de data/hora para o Java!
Tudo que eu precisava. Mais uma API que faz a mesma coisa, e mais uma vez desenvolvida por um comitê. Mal posso esperar.

4 comentários:

Anônimo disse...

A JSR se baseia no Joda Time, uma biblioteca open source. Provavelmente sofrerá modificações, mas provavelmente se manterá o 'core', já bem testado e robusto.

Então, pelo menos desta vez, esta API não será criada por um comitê, mas sim adaptada por um padrão 'de facto' (que, aliás, é a maneira correta de se criar um padrão).

Michel Graciano disse...

E mais equívoco que vc cometeu, não foi a Sun que propos a JSR, e sim foi uma iniciativa de desenvolvedores Java, que como vc, em todos estes problemas q vc comentou e tantos outros, os quais fazem nós ficarmos de cabelos brancos...
O JSR, por sinal, tem 2 brasileiros nela, e um como sendo spec leader. Caso vc queira participar da discução do projeto, ele é open-source bem como tem uma lista de discussões onde vc pode postar requisitos os quais devam ser contemplados, bem como ajudar na definição dos padrões a serem adotados, ou seja, vc poderá fazer parte do comitê!!
https://jsr-310.dev.java.net/

Herval disse...

muito romantico falar que o JCP nao eh proposta da propria Sun. O JCP foi criado em 98, como uma maneira da Sun ter feedback externo para evolucao de sua linguagem. Traduzindo, uma maneira de fazer desenvolvedores se sentirem mais 'queridos' na plataforma, de ganhar dinheiro em cima de empresas que querem definir o rumo da tecnologia (Nokia, IBM e outros grandes) - dentre outros objetivos menores.

Em tempo, ja participei como individual expert e reviewer em 2 JSRs, e por isso a critica ao processo. Como todo design by committee (e especialmente no caso da Sun, onde 99% das specs sao guiadas por empresas que pagam para fazer parte do JCP), eh raro sair algo que preste...

marcelo disse...

é o que eu digo, getTime() is your friend =pp

pq nao simplesmente usar a porcaria do long, q dá a data timezone-agnostic? nao sei, fazer o q...