Erro na classe Date?

4 respostas
dcbasso

Pessoal, estou utilizando a classe date no mesmo projeto, e me parece ter algum erro esta classe, pois assim:

. . . Date DataInicio = new Date("09/01/2007"); Date DataFim = new Date("08/11/2007"); testaData(DataInicio, DataFim); . . . public boolean testaData(Date DataI, Date DataF){ try{ if ((DataI.before(DataF))||(DataI.equals(DataF))){ return true; } else return false; }catch (Exception e){ return false; } }

Infelizmente parece-me haver um erro, ele retorna FALSE com estas datas… observei que toda vez que mando um DataInicio com um dia posterior e mes inferior e ano igual a DataFim, a função retorna FALSE, ela na verdade deveria retornar TRUE, pois a DataFim é posterior (em meses) a DataInicio…

Será que eu que estou fazendo cagad* ou é um erro da classe mesmo?

Alguém pode dar uma luz…

Abraçosssss

4 Respostas

Sami_Koivu

Olá,

Para definir as datas, use a classe SimpleDateFormat definindo a mascara de data explicitamente. Estou chutando que ele está entendendo essas datas no formato dos estados unidos (mes/dia/ano). Sendo uma das classes centrais do Java, é improvável ela ter um bug desse caliber.

[]s,
Sami

dcbasso

HUm, realmente pode ser… vou checar minha estrutura… bem que achei estranho!!!
Brigadão ae!

Abraços

dcbasso

Vix,… realmente uma baita mudança!
Nossa senhora! agora “bugou” tudo… uhauhaua

Abraços

dcbasso

Era aquilo mesmo! Vou ter que mexer em um classe… mto grande!! uhauhauha
me ferrei, achei que ele pegasse a data de acordo com a região do sistema, mas já percebi que a JVM não faz isso!!
aiaiaiaia :cry:

Abraçosss

Criado 8 de novembro de 2007
Ultima resposta 8 de nov. de 2007
Respostas 4
Participantes 2