I need a java program to get the current date without timestamp
Date d = new Date();
System.out.println("Current Date : " + d)
java.util.Date object is a kind of timestamp - it contains a number of milliseconds since January 1, 1970, 00:00:00 UTC. So you can't use a standard
Date object to contain just a day / month / year, without a time.
As far as I know, there's no really easy way to compare dates by only taking the date (and not the time) into account in the standard Java API. You can use class
Calendar and clear the hour, minutes, seconds and milliseconds:
Calendar cal = Calendar.getInstance(); cal.clear(Calendar.HOUR_OF_DAY); cal.clear(Calendar.AM_PM); cal.clear(Calendar.MINUTE); cal.clear(Calendar.SECOND); cal.clear(Calendar.MILLISECOND);
Do the same with another
Calendar object that contains the date that you want to compare it to, and use the
before() methods to do the comparison.
Concerned fields modified for a good reset.
As explained into the Javadoc of java.util.Calendar.clear(int field) :
The HOUR_OF_DAY, HOUR and AM_PM fields are handled independently and the the resolution rule for the time of day is applied. Clearing one of the fields doesn't reset the hour of day value of this Calendar. Use set(Calendar.HOUR_OF_DAY, 0) to reset the hour value.