DurationFormatUtils中formatPeriod计算两个日期之间的时间差

xiaoxiao2021-02-28  24

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
转载请注明原文地址: https://www.6miu.com/read-2602791.html

最新回复(0)