package com.levelup.java.date;
import static org.junit.Assert.assertTrue;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.log4j.Logger;
import org.joda.time.DateTime;
import org.junit.Test;
/**
* This java example will demonstrate truncating time in java
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/truncate-time/'>Truncate time</a>
*
*/
public class TruncateTime {
private static final Logger logger = Logger.getLogger(TruncateTime.class);
@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"));
}
@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"));
}
@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"));
}
}