Truncate time
This example will demonstrate how to truncate the time elements from a date while using java SimpleDateFormat, Joda formatdate and Apache’s DateUtils.truncate.
Straight up Java
@Test public void truncate_time_in_java () Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); // format object SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss"); String randomTruncatedDateFormatted = dateFormatter.format(cal.getTimeInMillis()); logger.info("Truncated date: " + randomTruncatedDateFormatted); assertTrue(randomTruncatedDateFormatted.contains("12:00:00")); >
Truncated date: 10/14/2013 12:00:00
Joda Time
@Test public void truncate_time_in_java_with_joda () DateTime dt = new DateTime().dayOfMonth().roundFloorCopy(); // just for formatting purposes SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss"); String randomTruncatedDateFormatted = dateFormatter.format(dt.getMillis()); logger.info("Truncated date: " + randomTruncatedDateFormatted); assertTrue(randomTruncatedDateFormatted.contains("12:00:00")); >
Truncated date: 10/14/2013 12:00:00
Apache Commons
@Test public void truncate_time_in_java_with_apache_commons () Calendar cal = Calendar.getInstance(); Date someRandomTruncatedDate = DateUtils.truncate(cal.getTime(), Calendar.DATE); // format object SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss z"); String randomTruncatedDateFormatted = dateFormatter.format(someRandomTruncatedDate); logger.info("Truncated date: " + randomTruncatedDateFormatted); assertTrue(randomTruncatedDateFormatted.contains("12:00:00")); >
Truncated date: 10/14/2013 12:00:00 CDT
Truncate time posted by Justin Musgrove on 28 April 2013
Tagged: java and java-date