Java 中的 DateUtils 工具类(2)

152 阅读5分钟

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

上次是因为在项目代码中碰到了之前没怎么用过的 DateUtils 工具类,所以做了一个简单的引入,今天继续总结 DateUtils 工具类的使用......

设置日期中年、月、日、小时、分钟、秒、毫秒值为指定的数字值

设置日期中“年”的值为指定的数字值

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

说明:设置日期中年字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setYears(date, 2018);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 13:24:13:838
    2018-10-16 13:24:13:838

设置日期中“月”的值为指定的数字值

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

说明:设置日期中月字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值,且值为 0—11;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setMonths(date, 11);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 13:30:28:161
    2022-11-16 13:30:28:161

设置日期中“日”的值为指定的数字值

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

说明:设置日期中日字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值,且值为 0 到当月最大天数;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setDays(date, 25);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 13:33:41:587
    2022-10-25 13:33:41:587

设置日期中“小时”的值为指定的数字值

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

说明:设置日期中小时字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值,且值为 0 到 23;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setHours(date, 16);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 15:36:01:860
    2022-10-16 16:36:01:860

设置日期中“分钟”的值为指定的数字值

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

说明:设置日期中分钟字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值,且值为 0 到 59;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setMinutes(date, 16);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 15:37:28:681
    2022-10-16 15:16:28:681

设置日期中“秒”的值为指定的数字值

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

说明:设置日期中秒字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值,且值为 0 到 59;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setSeconds(date, 10);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 17:39:19:946
    2022-10-16 17:39:10:946

设置日期中“毫秒”的值为指定的数字值

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

说明:设置日期中毫秒字段并返回一个新的日期对象,原始日期值不变;
参数:date-日期,不能为 null;amount-设置的值,非负值值,且值为 0 到 999;
返回值:一个新的日期对象;
抛出异常:IllegalArgumentException,如果日期为 null 或者负值;

例:

    Date date = new Date();
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    date = DateUtils.setMilliseconds(date, 10);
    System.out.println(DateUtil.dateToString(date, "yyyy-MM-dd HH:mm:ss:SSS"));
    
结果:
    2022-10-16 18:40:38:666
    2022-10-16 18:40:38:010

上次是介绍 DateUtils 工具类中将当前日期中的年、月、日、周、小时、分钟、秒、毫秒值加一的用法,今天主要介绍的是直接将当前日期中的年、月、日、小时、分钟、秒、毫秒设置成想要的值,不单纯是加一那么简单了,这样的话就可以更灵活的使用自己想要的日期时间,两种用法还有有区别的......
希望本文能够帮到你,如有错误,望指正!
我向你敬礼啊,Salute!