Java8 中计算两个日期间隔多少年、多少月、多少天的实现

import org.apache.commons.lang.time.DurationFormatUtils;
import java.util.Date;

public class DateUtil {
    /**
     * 计算两个日期间隔多少年、多少月、多少天的实现
     *
     * @param date
     * @return
     */
    public static String getYearToDate(Date date){
        Date now = new Date();
        String formatPeriod = DurationFormatUtils.formatPeriod(date.getTime(), now.getTime(), "y-M-d");
        String[] split = formatPeriod.split("-");
        int year = Integer.parseInt(split[0]);
        int month = Integer.parseInt(split[1]);
        int day = Integer.parseInt(split[2]);
        StringBuilder sb = new StringBuilder();
        if (year>0) {
            sb.append(year).append("年");
        }
        if (month>0) {
            sb.append(month).append("月");
        }
        if (day>0 && month==0) {
            sb.append(day).append("天");
        }
        System.out.println(sb);
        return sb.toString();
    }
}

测试

public static void main(String[] args) throws Exception {
	System.out.println("当前系统时间: "+LocalDate.now());
	String str = "1991-09-26 02:33:39";
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
	Date date = format.parse(str);
	// 30年3月
	getYearToDate(date);
}

Java8 中计算两个日期间隔多少年、多少月、多少天的实现

 

上一篇:redis独立功能模块


下一篇:AutoMapper.RegExtension[.NET Core版本] 介绍