How do I get the values of a date in the format "dd / MM / yyyy hh: mm" and compare with system date after setting it in this same format?

4

I wanted to make a comparison between the date contained in the hour1 object with the system date, how can I do it?

import java.text.SimpleDateFormat;
import java.util.Date;


public class MainTarefas {


    public static void main(String[] args) {
        Date horaMarcada = new Date(1,1,1,1,1);
        Date horaAtual = new Date();
        System.out.println(horaMarcada.compareTo(horaAtual));

    }

}
    
asked by anonymous 18.06.2014 / 00:37

2 answers

2

A generic solution for comparing any parts of a date with just one parameter might look like this:

public class ComparadorData {

    public static boolean compareByPattern(Date d1, Date d2, String pattern) {
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        return sdf.format(d1).equals(sdf.format(d2));
    }

    public static void main(String[] args) {

        //forma mais adequada para criar uma data especificando ano, mês dia, hora e minuto
        //lembrando que o mês começa com zero (janeiro) e vai até 11 (dezembro)
        Calendar c = Calendar.getInstance();
        c.set(2014, 11, 30, 23, 59); // 30/12/2014 23:59
        Date horaMarcada = c.getTime();

        //hora atual
        Date horaAtual = new Date();

        //exibe resultado
        System.out.println("São Iguais? " +
                compareByPattern(horaMarcada, horaAtual, "yyyyMMddHHmm"));

    }

}
    
18.06.2014 / 17:56
3

Use the compareTo

data1.compareTo (data2);

    
18.06.2014 / 01:28