Java 中的 DateUtils 工具类(1)

390 阅读5分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

今天是周六,在家里时,看组里聊天记录,突然想到上周在做一个需求过程中,代码中有一个点以前没有注意过,就是 Java 中的日期工具类 DateUtils,这个工具类我以前没怎么使用过,项目代码中使用到了 DateUtils.addDays(date, 1),由于之前没怎么用过,所以猛地看到这个不知道代表什么意思,现在就来好好扯一扯 DateUtils 工具类......

对指定的日期新增年、月、周、日、小时、分钟、秒、毫秒

对指定的日期新增“年”

  • public static Date addYears(Date date, int amount)

说明:向新返回日期对象添加若干年,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.addYears(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-15 13:12:44:742
    2023-10-15 13:12:44:742

对指定的日期新增“月”

  • public static Date addMonths(Date date, int amount)

说明:向新返回日期对象添加若干月,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.addMonths(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-15 13:14:13:354
    2022-11-15 13:14:13:354

对指定的日期新增“周”

  • public static Date addWeeks(Date date, int amount)

说明:向新返回日期对象添加若干周,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.addWeeks(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-15 13:15:21:608
    2022-10-22 13:15:21:608

对指定的日期新增“日”

  • public static Date addDays(Date date, int amount)

说明:向返回新对象日期添加若干天,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为负值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    date = DateUtils.addDays(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    
结果:
    2022-10-15 20:53:49 
    2022-10-16 20:53:49

对指定的日期新增“小时”

  • public static Date addHours(Date date, int amount)

说明:向新返回日期对象添加若干小时,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    date = DateUtils.addHours(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    
结果:
    2022-10-15 21:58:26
    2022-10-15 22:58:26

对指定的日期新增“分钟”

  • public static Date addMinutes(Date date, int amount)

说明:向新返回日期对象添加若干分钟,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    date = DateUtils.addMinutes(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    
结果:
    2022-10-15 22:04:05
    2022-10-15 22:05:05

对指定的日期新增“秒”

  • public static Date addSeconds(Date date, int amount)

说明:向新返回日期对象添加若干秒,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    date = DateUtils.addSeconds(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss"));
    
结果:
    2022-10-15 22:06:42
    2022-10-15 22:06:43

对指定的日期新增“毫秒”

  • public static Date addMilliseconds(Date date, int amount)

说明:向新返回日期对象添加若干毫秒,原始日期不变;
参数:date-日期,可能为空;amount-添加的量可能为复值;
返回值:返回一个新日期,原始日期不变;
抛出异常:IllegalArgumentException,如果日期为 null;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.addMilliseconds(date, 1);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-15 22:10:26:579
    2022-10-15 22:10:26:580

关于 DateUtils 工具类的用法今天就先总结到这里,剩下的用法就留到下次吧......
希望本文能够帮到你,如有错误,望指正!
我向你敬礼啊,Salute!