时间操作模版
每个coder都做过很多时间的处理,上学的时候一直使用java.util包下的日期操作,java.util.Date/java.util.Calendar真TM太难用了,相信一定给您制造了很多的麻烦吧。刚工作的时候领导就推荐我使用Joda—Time,一个完全可以替代Java的日期时间库。使用过之后,你就会有体会了。
需要的jar包:joda-time joda-convert
public class TimeTemplate { private static final Log LOG = LogFactory.getLog(TimeTemplate.class); public static void main(String[] args) { //日期的初始化 DateTime dateTime = new DateTime(2010, 10, 13, 10, 30, 50, 333); // 2010年10月13日10点30分50秒333毫秒 LOG.info(dateTime); dateTime = new DateTime(); //new DateTime(System.currentTimeMillis()); LOG.info(dateTime); //日期和字符串的互相转换 DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMdd"); dateTime = DateTime.parse("20101012",formatter); LOG.info(dateTime.toString("yyyy-MM-dd HH:mm:ss")); //日期的计算 dateTime = dateTime.plusDays(1).minusSeconds(1); LOG.info(dateTime); //特殊日期计算 dateTime = dateTime.dayOfMonth().withMaximumValue(); //月末日期 LOG.info(dateTime); dateTime = dateTime.plusDays(90).dayOfWeek().withMinimumValue(); //90天后那周的周一 LOG.info(dateTime); //日期比较 DateTime d1 = new DateTime("2018-02-01"); DateTime d2 = new DateTime("2012-05-01"); //和系统时间比 LOG.info(d1.isAfterNow()); LOG.info(d1.isBeforeNow()); LOG.info(d1.isEqualNow()); //和其他日期比 LOG.info(d1.isAfter(d2)); LOG.info(d1.isBefore(d2)); LOG.info(d1.isEqual(d2)); } }