- formatPeriod方法用于计算两个时间之间的片断,然后转化成相应的日期字符串类型,即能表示的最大单位
- 转换的格式化格式是y-M-d H:m:s
- 起始日期不能大于结束日期,否则会返回异常的数据
计算两个日期之间相差的天数
Date date1 = new Date();
date1 = DateUtils.addDays(date1, -12);
Date date2 = new Date();
String day = DurationFormatUtils.formatPeriod(date1.getTime(), date2.getTime(), "d");
System.out.println(day);
输出结果:
12
计算两个日期之间相差的年数
Date date1 = new Date();
Date date2 = new Date();
date2 = DateUtils.addYears(date2, 3);
String day = DurationFormatUtils.formatPeriod(date1.getTime(), date2.getTime(), "y");
System.out.println(day);
输出结果:
3
对日期格式进行时间的格式化输出
formatDuration有两个参数,一个是时间片段毫秒数,另一个是格式化字符串,格式化的时候只能使用d、 H、 m、s、S。
long t = new Date().getTime();
//d、 H、 m、s、S
String time = DurationFormatUtils.formatDuration(t,"dd'天'HH'小时'mm'分钟'ss'秒'SS'毫秒'");
System.out.println(time);
输出结果:
17690天10小时39分钟01秒130毫秒
另外一种输出格式是:
long t = new Date().getTime();
//d、 H、 m、s、S
String time = DurationFormatUtils.formatDuration(t,"dd HH:mm:ss.SS");
System.out.println(time);
输出结果是:
17690 10:41:12.785