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 );
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!!
É algo igual a isto só que usando o Scanner!
import java.util.;
import java.text.;
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);
}
}