本文给出一个将日期格式设置成当天最小和最大值的例子。这个在如下的场景可以用到。
商品上下架场景:
前台选择日期的时候一般按照年月日来选择,假设这些商品需要在指定当天上架或者下架,我们一般都会写一个JOB来实现这些商品自动上下架过程。
这个时候,商品上架的日期可以设置成当天最小值,而商品下架的日期可以使用当天的最大值。
这个时候,商品上架的日期可以设置成当天最小值,而商品下架的日期可以使用当天的最大值。
下面我们就来简单完成这个功能。注:如下使用的DateUtils类来自common-lang包
将日期转换成当天最小值
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang.time.DateUtils;
public class DateTest {
public static void main(String[] args) {
Date beginDate = new Date();
//2014-12-4 11:22:16
System.out.println(beginDate.toLocaleString());
Calendar calendar = DateUtils.toCalendar(beginDate);
calendar.set(Calendar.HOUR_OF_DAY,
calendar.getActualMinimum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE,
calendar.getActualMinimum(Calendar.MINUTE));
calendar.set(Calendar.SECOND,
calendar.getActualMinimum(Calendar.SECOND));
beginDate = calendar.getTime();
//2014-12-4 0:00:00
System.out.println("当天日期的最小值为:");
System.out.println(beginDate.toLocaleString());
}
}
当天日期的最小值为: 2014-12-4 0:00:00
将日期转换成当天最大值
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang.time.DateUtils;
public class DateTest {
public static void main(String[] args) {
Date endDate = new Date();
//2014-12-4 11:24:44
System.out.println(endDate.toLocaleString());
Calendar calendar = DateUtils.toCalendar(endDate);
calendar.set(Calendar.HOUR_OF_DAY,
calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE,
calendar.getActualMaximum(Calendar.MINUTE));
calendar.set(Calendar.SECOND,
calendar.getActualMaximum(Calendar.SECOND));
endDate = calendar.getTime();
System.out.println("当天日期的最大值为:");
//2014-12-4 23:59:59
System.out.println(endDate.toLocaleString());
}
}
2014-12-4 15:29:22 当天日期的最大值为: 2014-12-4 23:59:59