Trabalhando com datas!

2 respostas
sidmar_silva

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 );

2 Respostas

J

Olá!! Você pode converter uma String em Date a partir da classe DateFormat do pacote java.text. O método que você irá utilizar será o “public Date parse(String){}” desta classe. Dá uma olhada na API e vê se consegue desenrolar, caso não consiga, posta a dúvida aqui que nós te ajudamos!!

Espero ter ajudado!!

sidmar_silva

É algo igual a isto só que usando o Scanner!

import java.util.<em>;

import java.text.</em>;

import javax.swing.JOptionPane;

class Data {
public static void main(String[] arg) throws ParseException {

int t;

GregorianCalendar ini = new GregorianCalendar();

GregorianCalendar fim = new GregorianCalendar();

SimpleDateFormat sdf = new SimpleDateFormat(dd/MM/yyyy);
do {

t = 1;

try {

ini.setTime(sdf.parse(JOptionPane.showInputDialog(Digite a data inicial no formato dd/mm/aaaa)));

} catch (ParseException pe) {

JOptionPane.showMessageDialog(null, Digite novamente a data inicial no formato dd/mm/aaaa);

t = 0;

}

} while (t == 0);
do {

t = 1;

try {

fim.setTime(sdf.parse(JOptionPane.showInputDialog(Digite a data final no formato dd/mm/aaaa)));

} catch (ParseException pe) {

JOptionPane.showMessageDialog(null, Digite novamente a data inicial no formato dd/mm/aaaa);

t = 0;

}

} while (t == 0);

long dt1 = ini.getTimeInMillis();
long dt2 = fim.getTimeInMillis();

long dif = (dt2-dt1)/86400000;

JOptionPane.showMessageDialog(null, A diferença entre as duas datas é de : " + dif + " dias.”);

System.exit(0);

}

}
Criado 12 de outubro de 2006
Ultima resposta 12 de out. de 2006
Respostas 2
Participantes 2