trabalhando com datas
12/10/2006
0
Olá pessoal e sou muito leigo em java, então eu gostaria de implementar o código abaixo para que a (data1) e (data2) sejam digitadas por um usuario.
Se puderem me ajudor ficarei muito grato!
Calendar data1 = new GregorianCalendar();
Calendar data2 = new GregorianCalendar();
data1.set(1979, Calendar.MARCH, 1, 0, 0, 0);
data2.set( 2006, Calendar.APRIL, 2, 0, 0, 0 );
long time = data2.getTime().getTime() - data1.getTime().getTime();
long days = Math.round( (double)time / (24. * 60.*60.*1000.) );
System.out.println( days );
Se puderem me ajudor ficarei muito grato!
Calendar data1 = new GregorianCalendar();
Calendar data2 = new GregorianCalendar();
data1.set(1979, Calendar.MARCH, 1, 0, 0, 0);
data2.set( 2006, Calendar.APRIL, 2, 0, 0, 0 );
long time = data2.getTime().getTime() - data1.getTime().getTime();
long days = Math.round( (double)time / (24. * 60.*60.*1000.) );
System.out.println( days );
Sidmar_silva
Curtir tópico
+ 0
Responder
Posts
03/11/2006
Lordalmma
Considerações:
-----------------
1 - Existem dois campos JTextField nos quais o usuário irá digitar a data no formado ´dd/mm/aaaa´. Isso é responsabilidade sua de verificar através de funções como substring(), etc...
2 - Esses campos se chamam textFieldData1 e textFieldData2
3 - Lembre-se que o mes em um GregorianCalendar é o número real do mês - 1 (ou seja, Janeiro corresponde a 0 e nao a 1). Por isso no código eu tenho q subtrair 1 do número digitado.
---------------------------------------
GregorianCalendar data1 = new GregorianCalendar();
GregorianCalendar data2 = new GregorianCalendar();
String []data = new String[3];
data = textFieldData1.split(´/´);
data1.set(data[2], data[1] - 1, data[0]);
data = textFieldData2.split(´/´);
data2.set(data[2], data[1] -1, data[0]);
---------------------------------------
Esta é uma base. Em cima disso você pode usar sua criatividade e tentar usar uma função, na qual você passa o componente JTextField (eu já tive problemas tentando passar apenas o texto dele) e retorna um GregorianCalendar, de forma que você possa reutilizar mais facilmente este código^^
Inclusive pode posteriormente subir a hora na sua data, e essa pode ser inicialmente separada da data em si, através do split(´:´, 2). Com isso você obtém 2 Strings, uma com a data, outra com a hora. Em cima delas você faz o restante da divisão^^
É apenas uma sugestão também. Eu usei assim algumas vezes e funcionou...
-----------------
1 - Existem dois campos JTextField nos quais o usuário irá digitar a data no formado ´dd/mm/aaaa´. Isso é responsabilidade sua de verificar através de funções como substring(), etc...
2 - Esses campos se chamam textFieldData1 e textFieldData2
3 - Lembre-se que o mes em um GregorianCalendar é o número real do mês - 1 (ou seja, Janeiro corresponde a 0 e nao a 1). Por isso no código eu tenho q subtrair 1 do número digitado.
---------------------------------------
GregorianCalendar data1 = new GregorianCalendar();
GregorianCalendar data2 = new GregorianCalendar();
String []data = new String[3];
data = textFieldData1.split(´/´);
data1.set(data[2], data[1] - 1, data[0]);
data = textFieldData2.split(´/´);
data2.set(data[2], data[1] -1, data[0]);
---------------------------------------
Esta é uma base. Em cima disso você pode usar sua criatividade e tentar usar uma função, na qual você passa o componente JTextField (eu já tive problemas tentando passar apenas o texto dele) e retorna um GregorianCalendar, de forma que você possa reutilizar mais facilmente este código^^
Inclusive pode posteriormente subir a hora na sua data, e essa pode ser inicialmente separada da data em si, através do split(´:´, 2). Com isso você obtém 2 Strings, uma com a data, outra com a hora. Em cima delas você faz o restante da divisão^^
É apenas uma sugestão também. Eu usei assim algumas vezes e funcionou...
Responder
Clique aqui para fazer login e interagir na Comunidade :)