Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package data;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Locale;
- import java.util.concurrent.TimeUnit;
- public class Data {
- private Date data;
- public Data(int dia, int mes, int ano) {
- final String dataTexto = dia + "-" + mes + "-" + ano;
- final SimpleDateFormat formatador = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault());
- formatador.setLenient(false);
- try {
- this.data = formatador.parse(dataTexto);
- } catch (ParseException ex) {
- System.err.println("Falha ao processar a data informada, os valores estão corretos: " + dataTexto + "?");
- }
- }
- public long calculoIdade() {
- final Date agora = new Date();
- final long diferenca = Math.abs(this.data.getTime() - agora.getTime());
- final long anos = TimeUnit.MILLISECONDS.toDays(diferenca) / 365;
- return anos;
- }
- public static void main(String[] args) {
- new Data(29, 7, 1990); // correct
- new Data(32, 5, 1990); // error
- new Data(30, 2, 2020); // error
- new Data(1, 1, 2020); // correct
- Data data = new Data(29, 7, 1990);
- System.out.println(data.calculoIdade()); // return 29
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement