Question: I have a hashmap:
Map dateEvent = new HashMap(); where key is a date and time and value is a string.
I fill collection with data where date is in format dd.MM.yyyy HH:mm.
How I can get all keys with date based on this format: dd.MM.yyyy?

Answer: 
This code will do the trick:

```
public static void findEvents(Map<Date, Event> dateEvents, Date targetDate) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
    String target = dateFormat.format(targetDate); 
    for (Map.Entry<Date, Event> entry : dateEvents.entrySet()) {
        if (dateFormat.format(entry.getKey()).equals(target)) {
            System.out.println("Event " + entry.getValue() + " is on the specified date");
        }
    }
}

```

The important thing here is that all dates are converted to a String with format "dd.MM.yyyy" before comparing, so any differences in hour/minute/second still match if the day is the same.

This code also demonstrates the best way (IMHO) to iterate over a map.
There is no difference between between the Date `01.01.2011`*(dd.MM.yyyy)* and the Date `01.01.2011 00:00`(*dd.MM.yyyy HH:mm)*. 

`Date` holds a `long` which has hours and minutes. Even for `public Date(int year, int month, int date)`