The following code snippet shows you how to remove time information from the java.util.Date object. The static method removeTime() in the code snippet below will take a Date object as parameter and will return a new Date object where the hour, minute, second and millisecond information hasbeen reset to zero. To do this, we use the java.util.Calendar. To remove time information, we set the calendar fields of Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND to zero.
package org.kodejava.util;
import java.util.Calendar;
import java.util.Date;
public class DateRemoveTime {
public static void main(String[] args) {
System.out.println("Now = " + removeTime(new Date()));
}
private static Date removeTime(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
}
The result of the code snippet above is:
Now = Sat Nov 20 00:00:00 CST 2021
In the above code:
- An instance of
Calendaris created usingCalendar.getInstance(). - We set the
Calendartime usingsetTime()method and pass thedateobject. - The time fields (
HOUR_OF_DAY,MINUTE,SECOND,MILLISECOND) are set to zero.Calendar.HOUR_OF_DAYis used for 24-hour clock. - The resulting
Calendarinstances time value is printed which should now represent the start of the day.


Thanks Wayan for sharing this article. I have implemented this code in one of my project.