Existe alguma forma simples (método, função, classe ou outro) de, quando se dá o número do dia do mês, o mês e o ano de duas datas poder compara-las?
E existe algum método que permita indicar o número de dias ocorrido entre elas?
Existe alguma forma simples (método, função, classe ou outro) de, quando se dá o número do dia do mês, o mês e o ano de duas datas poder compara-las?
E existe algum método que permita indicar o número de dias ocorrido entre elas?
Boa tarde,
recomendaria o uso do joda time.
Através das apis nativas do java é meio chato manipular datas…
chato pq?
public static int comparaData( Date data1, Date data2 ) {
return data1.compareTo( data2 );
}
[quote=redr4gon]chato pq?
public static int comparaData( Date data1, Date data2 ) {
return data1.compareTo( data2 );
}
[/quote]
Agora indica o número de dias ocorrido entre elas…
[quote=marcelo.bellissimo][quote=redr4gon]chato pq?
public static int comparaData( Date data1, Date data2 ) {
return data1.compareTo( data2 );
}
[/quote]
Agora indica o número de dias ocorrido entre elas…[/quote]
Exato.
Através do Joda time, há um metodo Duration se não me engano, você vai conseguir pegar todas informações que deseja.
[]s
[quote=alejacquet][quote=marcelo.bellissimo][quote=redr4gon]chato pq?
public static int comparaData( Date data1, Date data2 ) {
return data1.compareTo( data2 );
}
[/quote]
Agora indica o número de dias ocorrido entre elas…[/quote]
Exato.
Através do Joda time, há um metodo Duration se não me engano, você vai conseguir pegar todas informações que deseja.
[]s[/quote]
Tem coisa melhor… esse método aqui:
Days.daysBetween(new DateTime(someDate), new DateTime(today)).getDays();
Vi um post com a mesma dúvida esta semana mesmo… o pessoal não tá utilizando a poderosa ferramenta de busca do guj, que inclusive foi melhorada recentemente ( ninguém deu nem moral )
Cara, tem gente que não sabe nem usar o Goooooooooooooooooogle… imagina ferramenta de busca do fórum, hahaha…
Aliás… mudando de assunto, alguém concorda que essa JodaTime deveria vir incluso no Java? É muito bom!
Então…
Em uma conversa com os professores da Caelum, eles falaram que a Sun(Oracle) estava utilizando a JodaTime como base, mas vai saber… com essas enrolações se sair o Java 7 ta bom…
:roll:
Isso não é verdade desculpe. Quando tenho dúvidas a primeira coisa que faço é procurar, aqui e no google.
O trabalho que estou a fazer é para amanhã e eu precisava de resposta hoje, acha que precisando eu de resposta tão rápida não teria pesquisado primeiro? Se perguntei no fórum por algum motivo foi…
Mas a informação que encontrei, embora relacionada com o assunto não me disse nada e por isso preferi pessoal com experiência a responder mais claramente ao assunto, afinal é esse o objectivo de todo o fórum.
Ola pessoal por favor me tirem duas duvidas basicas.
Como faço para comparar a data no caso dela ser string , e nessa comparação sera levada em conta a hora ?
E a segunda pode ser simples pra vcs mas ainda nao consegui entender as classes e metodos do JAVA.
No caso abaixo nao seria apenas necessário eu atribuir a uma variavel o " variavel = new nome_da_classe.metodo_da_classe(argumentos); " ?
import java.util.*;
import java.util.*;
import java.text.*;
public class comparadatas {
public static int comparaData( Date data1, Date data2 ) {
return data1.compareTo( data2 );
}
public static void main(String args[]){
String data1 = "25/10/2005";
String data2 = "12/08/2008";
comparadatas resultado = new comparadatas.comparaData(data1,data2);
}
}
Recebendo duas strings você precisará converte-las para DATE, mas prefira Calendar a API do DATE foi descontinuada em uma versáo se nao me engano na 1.1, algo do genero.
No caso abaixo o parametro esta errado voce esta instanciando compara datas quando precisaria retornar um int e nao compara datas. [acho]rs :roll:
Para essas comparaçoes ja existem apis de uma olhada em jodaTime…ou até mesmo a calendar se for realizar operaçoes simples
public class comparadatas {
public static int comparaData( Date data1, Date data2 ) {
return data1.compareTo( data2 );
}
esse metodo avulso assim naum vai realizar nada…
o compareTo deve ser implementado quando se implementa a interface comparable…e dentro dele vc deve especificar como se compara a data1 e a data 2
compareTo retorna zero se as datas são iguais, um valor negativo se a data eh menor que o argumento e um positivo se é o contrário
a classe Date foi descontinuada e quase toda a classe foi depreciada mas a classe em si e o método compateTo não pq ele serve justamente pra algo simples: ver se uma data é menor ou igual ou maior que outra, sem erro nem complicações
se quer trabalhar bastante com datas pode-se usar o joda mesmo ou outra api… mas se quer manipular datas sem usar outra api pode usar a classe Calendar… que tem varios métodos e entre eles uma versão atualizada do compareTo
Obrigado a todos pela ajuda.
Estou tentando entender JAVA e a tal orientação a objetos. Mas desde já me frustrei com a dificudade da linguagem
Simples necessidades exigem muitas linhas de codigo.
Uma simples caixa de texto se resume a : JOptionPane bla bla bla.
Confesso que só vou estudar por que é uma linguagem muito requisitada no mercado. Mas . . .
Enfim muito obrigado.