当前位置:   article > 正文

Hutool工具包:DateUtil 时间工具类的使用_dateutil.offsetmonth

dateutil.offsetmonth

官网地址:https://apidoc.gitee.com/loolly/hutool/

操作文档:hutool工具地址

引入依赖:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-core</artifactId>
    <version>5.6.5</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.10</version>
    <scope>provided</scope>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

1、测试案例:

/**
 *  当前时间,转换为DateTime对象:2021-12-29 15:56:07
 *  当前时间,转换为DateTime对象,忽略毫秒部分:2021-12-29 15:56:07
 *  当前时间,格式 yyyy-MM-dd HH:mm:ss:2021-12-29 15:56:07
 *  当前日期,格式 yyyy-MM-dd:2021-12-29
 */
@Test
public void test1(){
    DateTime date = DateUtil.date();
    log.info("当前时间,转换为DateTime对象:"+date);

    DateTime dateTime = DateUtil.dateSecond();
    log.info("当前时间,转换为DateTime对象,忽略毫秒部分:"+dateTime);

    String now = DateUtil.now();
    log.info("当前时间,格式 yyyy-MM-dd HH:mm:ss:"+now);

    String today = DateUtil.today();
    log.info("当前日期,格式 yyyy-MM-dd:"+today);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

2、测试案例:

/**
 *   Date类型时间转为DateTime:2021-12-29 15:11:42
 *   Long类型时间转为DateTime:2021-12-29 15:11:42
 */
@Test
public void test2(){
    Date date = new Date();
    DateTime dateTime = DateUtil.date(date);
    log.info("Date类型时间转为DateTime:"+dateTime);

    long millis = System.currentTimeMillis();
    DateTime date1 = DateUtil.date(millis);
    log.info("Long类型时间转为DateTime:"+date1);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

3、测试案例:

/**
 * 2021-12-29
 *  获得年的部分:2021
 *  获得月份,从0开始计数:11
 */
@Test
public void test3(){
    Date date = new Date();
    int year = DateUtil.year(date);
    log.info("获得年的部分:"+year);

    int month = DateUtil.month(date);
    log.info("获得月份,从0开始计数:"+month);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

4、测试案例:

/**
 *  当前时间:2021-12-29 15:09:08
 *
 *  偏移10毫秒数:2021-12-29 15:09:08
 *  偏移10分钟:2021-12-29 14:59:08
 *  偏移10小时:2021-12-29 05:09:08
 *  偏移1天:2021-12-28 15:09:08
 *  偏移1周:2021-12-22 15:09:08
 *  偏移1月:2021-11-29 15:09:08
 */
@Test
public void test4(){
    DateTime date = DateUtil.date();
    log.info("当前时间:"+date);

    DateTime offsetMillisecond = DateUtil.offsetMillisecond(date, -10);
    log.info("偏移毫秒数:"+ offsetMillisecond);

    DateTime offsetMinute = DateUtil.offsetMinute(date, -10);
    log.info("偏移分钟:"+ offsetMinute);

    DateTime offsetHour = DateUtil.offsetHour(date, -10);
    log.info("偏移小时:"+ offsetHour);

    DateTime offsetDay = DateUtil.offsetDay(date, -1);
    log.info("偏移天:"+ offsetDay);

    DateTime offsetWeek = DateUtil.offsetWeek(date, -1);
    log.info("偏移周:"+ offsetWeek);

    DateTime offsetMonth = DateUtil.offsetMonth(date, -1);
    log.info("偏移月:"+ offsetMonth);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

5、测试案例:

/**
 *  当前时间:2021-12-29 15:32:41
 *
 *  获取秒级别的开始时间,即忽略毫秒部分:2021-12-29 15:32:41
 *  获取秒级别的结束时间,即毫秒设置为999:2021-12-29 15:32:41
 *  获取某分钟的开始时间:2021-12-29 15:32:00
 *  获取某分钟的结束时间:2021-12-29 15:32:59
 *  获取某小时的开始时间:2021-12-29 15:00:00
 *  获取某小时的结束时间:2021-12-29 15:59:59
 *  获取某天的开始时间:2021-12-29 00:00:00
 *  获取某天的结束时间:2021-12-29 23:59:59
 *  获取某周的开始时间,周一定为一周的开始时间:2021-12-27 00:00:00
 *  获取某周的结束时间,周日定为一周的结束:2022-01-02 23:59:59
 *  获取某月的开始时间:2021-12-01 00:00:00
 *  获取某月的结束时间:2021-12-31 23:59:59
 *  获取某季度的开始时间:2021-10-01 00:00:00
 *  获取某季度的结束时间:2021-12-31 23:59:59
 *  获取某年的开始时间:2021-01-01 00:00:00
 *  获取某年的结束时间:2021-12-31 23:59:59
 */
@Test
public void test5(){
    DateTime date = DateUtil.date();
    log.info("当前时间:"+date);

    DateTime beginOfSecond = DateUtil.beginOfSecond(date);
    log.info("获取秒级别的开始时间,即忽略毫秒部分:"+ beginOfSecond);
    DateTime endOfSecond = DateUtil.endOfSecond(date);
    log.info("获取秒级别的结束时间,即毫秒设置为999:"+ endOfSecond);

    DateTime beginOfMinute = DateUtil.beginOfMinute(date);
    log.info("获取某分钟的开始时间:" + beginOfMinute);
    DateTime endOfMinute = DateUtil.endOfMinute(date);
    log.info("获取某分钟的结束时间:" + endOfMinute);

    DateTime beginOfHour = DateUtil.beginOfHour(date);
    log.info("获取某小时的开始时间:" + beginOfHour);
    DateTime endOfHour = DateUtil.endOfHour(date);
    log.info("获取某小时的结束时间:" + endOfHour);

    DateTime beginOfDay = DateUtil.beginOfDay(date);
    log.info("获取某天的开始时间:"+ beginOfDay);
    DateTime endOfDay = DateUtil.endOfDay(date);
    log.info("获取某天的结束时间:"+ endOfDay);

    DateTime beginOfWeek = DateUtil.beginOfWeek(date);
    log.info("获取某周的开始时间,周一定为一周的开始时间:" + beginOfWeek);
    DateTime endOfWeek = DateUtil.endOfWeek(date);
    log.info("获取某周的结束时间,周日定为一周的结束:" + endOfWeek);

    DateTime beginOfMonth = DateUtil.beginOfMonth(date);
    log.info("获取某月的开始时间:" + beginOfMonth);
    DateTime endOfMonth = DateUtil.endOfMonth(date);
    log.info("获取某月的结束时间:" + endOfMonth);

    DateTime beginOfQuarter = DateUtil.beginOfQuarter(date);
    log.info("获取某季度的开始时间:" + beginOfQuarter);
    DateTime endOfQuarter = DateUtil.endOfQuarter(date);
    log.info("获取某季度的结束时间:" + endOfQuarter);

    DateTime beginOfYear = DateUtil.beginOfYear(date);
    log.info("获取某年的开始时间:" + beginOfYear);
    DateTime endOfYear = DateUtil.endOfYear(date);
    log.info("获取某年的结束时间:" + endOfYear);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

6、测试案例:

/**
 *  未格式化之前:Wed Dec 29 15:47:10 CST 2021
 *
 *  格式化日期部分(不包括时间),格式 yyyy-MM-dd:2021-12-29
 *  格式化日期时间,格式 yyyy-MM-dd HH:mm:ss:2021-12-29 15:47:10
 *  格式化时间,格式 HH:mm:ss:15:47:10
 *  根据特定格式格式化日期:2021-12-29 15:47:10
 */
@Test
public void test6(){
    Date date = new Date();
    log.info("未格式化之前:" + date);

    String formatDate = DateUtil.formatDate(date);
    log.info("格式化日期部分(不包括时间),格式 yyyy-MM-dd:" + formatDate);

    String formatDateTime = DateUtil.formatDateTime(date);
    log.info("格式化日期时间,格式 yyyy-MM-dd HH:mm:ss:" + formatDateTime);

    String formatTime = DateUtil.formatTime(date);
    log.info("格式化时间,格式 HH:mm:ss:"+ formatTime);

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String format = DateUtil.format(date, dateFormat);
    log.info("根据特定格式格式化日期:" + format);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/400819
推荐阅读
相关标签
  

闽ICP备14008679号