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();
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