国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hutool 常用工具類介紹-DateUtil

這篇具有很好參考價值的文章主要介紹了Hutool 常用工具類介紹-DateUtil。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

日期格式轉(zhuǎn)化及計算,比較使我們最常用的功能,現(xiàn)就工具類用法歸結(jié)如下

測試pom

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- 引入 SpringMVC 相關依賴,并實現(xiàn)對其的自動配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.22</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.8.2</version>
            <scope>test</scope>
        </dependency>




        <!-- 引入 Spring Cloud Alibaba Stream RocketMQ 相關依賴,將 RocketMQ 作為消息隊列,并實現(xiàn)對其的自動配置 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rocketmq</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

字符串轉(zhuǎn)日期

DateUtil.parse 方法
Hutool 常用工具類介紹-DateUtil
DateUtil.parse 方法會自動識別一些常用格式,包括:

yyyy-MM-dd HH:mm:ss

yyyy/MM/dd HH:mm:ss

yyyy.MM.dd HH:mm:ss

yyyy年MM月dd日 HH時mm分ss秒

yyyy-MM-dd yyyy/MM/dd

yyyy.MM.dd HH:mm:ss

HH時mm分ss秒

yyyy-MM-dd HH:mm

yyyy-MM-dd HH:mm:ss.SSS

yyyyMMddHHmmss

yyyyMMddHHmmssSSS

yyyyMMdd

EEE, dd MMM yyyy HH:mm:ss z

EEE MMM dd HH:mm:ss zzz yyyy

yyyy-MM-dd’T’HH:mm:ss’Z’

yyyy-MM-dd’T’HH:mm:ss.SSS’Z’

yyyy-MM-dd’T’HH:mm:ssZ

yyyy-MM-dd’T’HH:mm:ss.SSSZ

方法 描述
cn.hutool.core.date.DateUtil.parseLocalDateTime(java.lang.CharSequence)
構(gòu)建LocalDateTime對象
格式:yyyy-MM-dd HH:mm:ss
cn.hutool.core.date.DateUtil.parseLocalDateTime(java.lang.CharSequence, java.lang.String)
構(gòu)建LocalDateTime對象
cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.text.DateFormat)
構(gòu)建DateTime對象
cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, cn.hutool.core.date.format.DateParser)
構(gòu)建DateTime對象
cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)
構(gòu)建DateTime對象
cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.lang.String)
將特定格式的日期轉(zhuǎn)換為Date對象
cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.lang.String, java.util.Locale)
將特定格式的日期轉(zhuǎn)換為Date對象
cn.hutool.core.date.DateUtil.parse(java.lang.String, java.lang.String[])
通過給定的日期格式解析日期時間字符串。
傳入的日期格式會逐個嘗試,直到解析成功,
返回{@link DateTime}對象,否則拋出{@link DateException}異常。
cn.hutool.core.date.DateUtil.parseDateTime(java.lang.CharSequence)
解析日期時間字符串,格式支持:
 yyyy-MM-dd HH:mm:ss 
yyyy/MM/dd HH:mm:ss
yyyy.MM.dd HH:mm:ss
yyyy年MM月dd日 HH:mm:ss
cn.hutool.core.date.DateUtil.parseDate(java.lang.CharSequence)
解析日期字符串,忽略時分秒,支持的格式包括:
 yyyy-MM-dd yyyy/MM/dd yyyy.MM.dd yyyy年MM月dd日 
cn.hutool.core.date.DateUtil.parseTime(java.lang.CharSequence)
解析時間,格式HH:mm:ss,日期部分默認為1970-01-01
cn.hutool.core.date.DateUtil.parseTimeToday(java.lang.CharSequence)
解析時間,格式HH:mm 或 HH:mm:ss,日期默認為今天
cn.hutool.core.date.DateUtil.parseUTC(java.lang.String)
解析UTC時間,格式:
  1. yyyy-MM-dd’T’HH:mm:ss’Z’
  2. yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
  3. yyyy-MM-dd’T’HH:mm:ssZ
  4. yyyy-MM-dd’T’HH:mm:ss.SSSZ
cn.hutool.core.date.DateUtil.parseCST(java.lang.CharSequence)
解析CST時間,格式:
  1. EEE MMM dd HH:mm:ss z yyyy
    (例如:Wed Aug 01 00:00:00 CST 2012)
cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence)
將日期字符串轉(zhuǎn)換為{@link DateTime}對象,格式:
  1. yyyy-MM-dd HH:mm:ss
  2. yyyy/MM/dd HH:mm:ss
  3. yyyy.MM.dd HH:mm:ss
  4. yyyy年MM月dd日 HH時mm分ss秒
  5. yyyy-MM-dd
  6. yyyy/MM/dd
  7. yyyy.MM.dd
  8. HH:mm:ss
  9. HH時mm分ss秒
  10. yyyy-MM-dd HH:mm
  11. yyyy-MM-dd HH:mm:ss.SSS
  12. yyyyMMddHHmmss
  13. yyyyMMddHHmmssSSS
  14. yyyyMMdd
  15. EEE, dd MMM yyyy HH:mm:ss z
  16. EEE MMM dd HH:mm:ss zzz yyyy
  17. yyyy-MM-dd’T’HH:mm:ss’Z’
  18. yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
  19. yyyy-MM-dd’T’HH:mm:ssZ
  20. yyyy-MM-dd’T’HH:mm:ss.SSSZ
// 測試字符串與LocalDateTime的互相轉(zhuǎn)換
        String strDate = "2022-12-01 17:02:30";
        LocalDateTime ldt = DateUtil.parseLocalDateTime(strDate);
        String strDate1 = DateUtil.formatLocalDateTime(ldt);
        System.out.println(ldt);
        System.out.println(strDate1);

        String strDate2 = "2022-12-01 17:02:30.111";
        ldt = DateUtil.parseLocalDateTime(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN);
        strDate2 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN);
        System.out.println(ldt);

----------------------------1
2022-05-06 00:00:00
----------------------------1
2022-12-01T17:02:30
2022-12-01 17:02:30
2022-12-01T17:02:30.111
2022-12-01 17:02:30

package com.liu.test.stream.rocketmq.consumer.Utils;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import org.junit.Assert;
import org.junit.Test;

/**
 * @author liu
 * @date 2022年05月06日 10:57
 */
@Slf4j
public class DataUtileTest {

    public void test(){
        //當前時間
        Date date = DateUtil.date();
        //當前時間
        Date date2 = DateUtil.date(Calendar.getInstance());
        //當前時間
        Date date3 = DateUtil.date(System.currentTimeMillis());
        //當前時間字符串,格式:yyyy-MM-dd HH:mm:ss
        String now = DateUtil.now();
        //當前日期字符串,格式:yyyy-MM-dd
        String today= DateUtil.today();



    }

    @Test
    public  void test1() {
       // int i = DateUtil.ageOfNow("20110101");
       // DateUtil.ageOfNow()
        String dateStr = "2022-05-06";
        Date date = DateUtil.parse(dateStr);


        System.out.println("----------------------------1");
        System.out.println(date);
        System.out.println("----------------------------1");

        // 測試字符串與LocalDateTime的互相轉(zhuǎn)換
        String strDate = "2022-12-01 17:02:30";
        LocalDateTime ldt = DateUtil.parseLocalDateTime(strDate);
        String strDate1 = DateUtil.formatLocalDateTime(ldt);
        System.out.println(ldt);
        System.out.println(strDate1);

        String strDate2 = "2022-12-01 17:02:30.111";
        ldt = DateUtil.parseLocalDateTime(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN);
        strDate2 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN);
        System.out.println(ldt);
        System.out.println(strDate2);


        String str = "31-Aug-2020";
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.US);

        LocalDateTime localDateTime = LocalDate.parse(str, dtf).atStartOfDay();
        Date date1 = DateUtil.date(localDateTime);
        System.out.println(date1);
        Assert.assertNotNull(date1);


        String ymd1 = DateUtil.parse("2019-3-21 12:20:15", "yyyy-MM-dd").toString(DatePattern.PURE_DATE_PATTERN);
        Assert.assertEquals("20190321", ymd1);

        String ymd = DateUtil.parse("2021-05-16 21:20:15", "yyyy-MM-dd",Locale.US).toString(DatePattern.PURE_DATE_PATTERN);
        Assert.assertEquals("20210516", ymd);

        String ymd2 = DateUtil.parse("2021-05-16 21:20:15", "yyyy/MM/dd HH:mm:ss","yyyy.MM.dd HH:mm:ss","yyyy-MM-dd HH:mm:ss").toString(DatePattern.PURE_DATE_PATTERN);
        Assert.assertEquals("20210516", ymd2);

        DateTime dateTime =DateUtil.parseDateTime("2021-05-16 21:20:15");
        Assert.assertEquals("2021-05-16 21:20:15", dateTime.toString("yyyy-MM-dd HH:mm:ss"));


        String beginStr = "2020-03-11";
        DateTime date4 = DateUtil.parseDate(beginStr);
        Calendar calendar = date4.toCalendar();
        final Calendar begin = DateUtil.beginOfWeek(calendar, false);
        Assert.assertEquals("2020-03-08 00:00:00", DateUtil.date(begin).toString());



        String beginStr5 = "22:10:00";
        DateTime date5 = DateUtil.parseTimeToday(beginStr5);
        System.out.println("date5:::::"+date5);
        String str5 = "2022-05-06 22:10:00";
        Date today1 = DateUtil.parse(str5);
        System.out.println("today1:::::"+today1);
        Assert.assertEquals(DateUtil.format(today1,"yyyy-MM-dd HH:mm:ss"), date5.toString());
        testParseUTC();
    }

    public static void testParseUTC(){
        String dateStr1 = "2018-09-13T05:34:31Z";
        DateTime dt = DateUtil.parseUTC(dateStr1);

        // parse方法支持UTC格式測試
        DateTime dt2 = DateUtil.parse(dateStr1);
        Assert.assertEquals(dt, dt2);

        // 默認使用Pattern對應的時區(qū),即UTC時區(qū)
        String dateStr = dt.toString();
        Assert.assertEquals("2018-09-13 05:34:31", dateStr);

        // 使用當前(上海)時區(qū)
        dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00"));
        Assert.assertEquals("2018-09-13 13:34:31", dateStr);

        dateStr1 = "2018-09-13T13:34:32+0800";
        dt = DateUtil.parseUTC(dateStr1);
        dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00"));
        Assert.assertEquals("2018-09-13 13:34:32", dateStr);

        dateStr1 = "2018-09-13T13:34:33+08:00";
        dt = DateUtil.parseUTC(dateStr1);
        dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00"));
        Assert.assertEquals("2018-09-13 13:34:33", dateStr);

        dateStr1 = "2018-09-13T13:34:34+0800";
        dt = DateUtil.parse(dateStr1);
        assert dt != null;
        dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00"));
        Assert.assertEquals("2018-09-13 13:34:34", dateStr);

        dateStr1 = "2018-09-13T13:34:35+08:00";
        dt = DateUtil.parse(dateStr1);
        assert dt != null;
        dateStr = dt.toString(TimeZone.getTimeZone("GMT+8:00"));
        Assert.assertEquals("2018-09-13 13:34:35", dateStr);

        dateStr1 = "2018-09-13T13:34:36.999+0800";
        dt = DateUtil.parseUTC(dateStr1);
        final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.NORM_DATETIME_MS_PATTERN);
        simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
        dateStr = dt.toString(simpleDateFormat);
        Assert.assertEquals("2018-09-13 13:34:36.999", dateStr);

        dateStr1 = "2018-09-13T13:34:37.999+08:00";
        dt = DateUtil.parseUTC(dateStr1);
        dateStr = dt.toString(simpleDateFormat);
        Assert.assertEquals("2018-09-13 13:34:37.999", dateStr);

        dateStr1 = "2018-09-13T13:34:38.999+0800";
        dt = DateUtil.parse(dateStr1);
        assert dt != null;
        dateStr = dt.toString(simpleDateFormat);
        Assert.assertEquals("2018-09-13 13:34:38.999", dateStr);

        dateStr1 = "2018-09-13T13:34:39.999+08:00";
        dt = DateUtil.parse(dateStr1);
        assert dt != null;
        dateStr = dt.toString(simpleDateFormat);
        Assert.assertEquals("2018-09-13 13:34:39.999", dateStr);

        // 使用UTC時區(qū)
        dateStr1 = "2018-09-13T13:34:39.99";
        dt = DateUtil.parse(dateStr1);
        assert dt != null;
        dateStr = dt.toString();
        Assert.assertEquals("2018-09-13 13:34:39", dateStr);

    }
}

Connected to the target VM, address: ‘127.0.0.1:52523’, transport: ‘socket’
----------------------------1
2022-05-06 00:00:00
----------------------------1
2022-12-01T17:02:30
2022-12-01 17:02:30
2022-12-01T17:02:30.111
2022-12-01 17:02:30
2020-08-31 00:00:00
date5:::::2022-05-06 22:10:00
today1:::::2022-05-06 22:10:00
Disconnected from the target VM, address: ‘127.0.0.1:52523’, transport: ‘socket’

Process finished with exit code 0

格式化日期

Hutool 常用工具類介紹-DateUtil

方法 描述
cn.hutool.core.date.DateUtil.formatLocalDateTime(java.time.LocalDateTime)
格式化日期時間<br> 格式 yyyy-MM-dd HH:mm:ss
cn.hutool.core.date.DateUtil.format(java.time.LocalDateTime, java.lang.String)
根據(jù)特定格式格式化日期
cn.hutool.core.date.DateUtil.format(java.util.Date, java.lang.String)
根據(jù)特定格式格式化日期
cn.hutool.core.date.DateUtil.format(java.util.Date, cn.hutool.core.date.format.DatePrinter)
根據(jù)特定格式格式化日期
cn.hutool.core.date.DateUtil.format(java.util.Date, java.text.DateFormat)
根據(jù)特定格式格式化日期
cn.hutool.core.date.DateUtil.format(java.util.Date, java.time.format.DateTimeFormatter)
根據(jù)特定格式格式化日期
cn.hutool.core.date.DateUtil.formatDateTime(java.util.Date)
格式化日期時間<br> 格式 yyyy-MM-dd HH:mm:ss
cn.hutool.core.date.DateUtil.formatDate(java.util.Date)
格式化日期部分(不包括時間)<br> 格式 yyyy-MM-dd
cn.hutool.core.date.DateUtil.formatTime(java.util.Date)
格式化時間<br> 格式 HH:mm:ss
cn.hutool.core.date.DateUtil.formatHttpDate(java.util.Date)
格式化為Http的標準日期格式<br> 標準日期格式遵循RFC 1123規(guī)范,格式類似于:Fri, 31 Dec 1999 23:59:59 GMT
cn.hutool.core.date.DateUtil.formatChineseDate(java.util.Date, boolean, boolean)
格式化為中文日期格式,如果isUppercase為false,則返回類似:2018年10月24日,否則返回二〇一八年十月二十四日
 @Test
    @SneakyThrows
    public void testFormat (){
        String strDate = "2019-12-01 17:02:30";
        LocalDateTime ldt = DateUtil.parseLocalDateTime(strDate);
        String strDate1 = DateUtil.formatLocalDateTime(ldt);
        Assert.assertEquals(strDate, strDate1);


        String strDate2 = "2019-12-01 17:02:30.111";
        ldt = DateUtil.parseLocalDateTime(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN);
        strDate1 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN);
        Assert.assertEquals(strDate, strDate1);

        String strDate3 = "2021-05-16";
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");
        Date localDate = sdf3.parse(strDate3);
        Assert.assertEquals(strDate3, DateUtil.format(localDate, DatePattern.NORM_DATE_PATTERN));



        //根據(jù)特定格式格式化日期
        /*String str = "2021-05-16";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
        Date date = DateUtil.parse(str);
        String dateStr = DateUtil.format(date,sdf);
        System.out.println(dateStr);
        Assert.assertEquals(str, dateStr);*/


        //根據(jù)特定格式格式化日期
        /*String str = "2021-05-16";
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.US);
        Date date = DateUtil.parse(str);
        String dateStr = DateUtil.format(date,dtf);
        System.out.println(dateStr);
        Assert.assertEquals(str, dateStr);*/


        /*String dateStr = "2017-03-01";
        Date date = DateUtil.parse(dateStr);

        String format = DateUtil.format(date, "yyyy/MM/dd");
        Assert.assertEquals("2017/03/01", format);

        // 常用格式的格式化
        String formatDate = DateUtil.formatDate(date);
        Assert.assertEquals("2017-03-01", formatDate);
        String formatDateTime = DateUtil.formatDateTime(date);
        Assert.assertEquals("2017-03-01 00:00:00", formatDateTime);
        String formatTime = DateUtil.formatTime(date);
        Assert.assertEquals("00:00:00", formatTime);*/


        String dateStr = "2017-03-01";
        Date date = DateUtil.parse(dateStr);

        String format = DateUtil.format(date, "yyyy/MM/dd");
        Assert.assertEquals("2017/03/01", format);

        // 常用格式的格式化
        String formatDate = DateUtil.formatDate(date);
        Assert.assertEquals("2017-03-01", formatDate);
        String formatDateTime = DateUtil.formatDateTime(date);
        Assert.assertEquals("2017-03-01 00:00:00", formatDateTime);
        String formatTime = DateUtil.formatTime(date);
        Assert.assertEquals("00:00:00", formatTime);


        String formatChineseDate = DateUtil.formatChineseDate(DateUtil.parse("2018-02-24"), true, false);
        Assert.assertEquals("二〇一八年二月二十四日", formatChineseDate);



    }

獲取年,季度,月,周,日,時,分,秒,毫秒的開始時間和結(jié)束時間

Hutool 常用工具類介紹-DateUtil

方法 描述
cn.hutool.core.date.DateUtil.truncate(java.util.Date, cn.hutool.core.date.DateField)
修改日期為某個時間字段起始時間
cn.hutool.core.date.DateUtil.round(java.util.Date, cn.hutool.core.date.DateField)
修改日期為某個時間字段四舍五入時間
cn.hutool.core.date.DateUtil.ceiling(java.util.Date, cn.hutool.core.date.DateField)
修改日期為某個時間字段結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfSecond(java.util.Date)
獲取秒級別的開始時間,即忽略毫秒部分
cn.hutool.core.date.DateUtil.endOfSecond(java.util.Date)
獲取秒級別的結(jié)束時間,即毫秒設置為999
cn.hutool.core.date.DateUtil.beginOfHour(java.util.Date)
獲取某小時的開始時間
cn.hutool.core.date.DateUtil.endOfHour(java.util.Date)
獲取某小時的結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfMinute(java.util.Date)
獲取某分鐘的開始時間
cn.hutool.core.date.DateUtil.endOfMinute(java.util.Date)
獲取某分鐘的結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfDay(java.util.Date)
獲取某天的開始時間
cn.hutool.core.date.DateUtil.endOfDay(java.util.Date)
獲取某天的結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfWeek(java.util.Date)
獲取某周的開始時間,周一定為一周的開始時間
cn.hutool.core.date.DateUtil.beginOfWeek(java.util.Date, boolean)
獲取某周的開始時間
cn.hutool.core.date.DateUtil.endOfWeek(java.util.Date)
獲取某周的結(jié)束時間,周日定為一周的結(jié)束
cn.hutool.core.date.DateUtil.endOfWeek(java.util.Date, boolean)
獲取某周的結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfMonth(java.util.Date)
獲取某月的開始時間
cn.hutool.core.date.DateUtil.endOfMonth(java.util.Date)
獲取某月的結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfQuarter(java.util.Date)
獲取某季度的開始時間
cn.hutool.core.date.DateUtil.endOfQuarter(java.util.Date)
獲取某季度的結(jié)束時間
cn.hutool.core.date.DateUtil.beginOfYear(java.util.Date)
獲取某年的開始時間
cn.hutool.core.date.DateUtil.endOfYear(java.util.Date)
獲取某年的結(jié)束時間
cn.hutool.core.date.DateUtil.yesterday()
昨天
cn.hutool.core.date.DateUtil.tomorrow()
明天
cn.hutool.core.date.DateUtil.lastWeek()
上周
cn.hutool.core.date.DateUtil.nextWeek()
下周
cn.hutool.core.date.DateUtil.lastMonth()
上個月
cn.hutool.core.date.DateUtil.nextMonth()
下個月
cn.hutool.core.date.DateUtil.offsetMillisecond(java.util.Date, int)
偏移毫秒數(shù)
cn.hutool.core.date.DateUtil.offsetSecond(java.util.Date, int)
偏移秒數(shù)
cn.hutool.core.date.DateUtil.offsetMinute(java.util.Date, int)
偏移分鐘
cn.hutool.core.date.DateUtil.offsetHour(java.util.Date, int)
偏移小時
cn.hutool.core.date.DateUtil.offsetDay(java.util.Date, int)
偏移天
cn.hutool.core.date.DateUtil.offsetWeek(java.util.Date, int)
偏移周
cn.hutool.core.date.DateUtil.offsetMonth(java.util.Date, int)
偏移月
cn.hutool.core.date.DateUtil.offset(java.util.Date, cn.hutool.core.date.DateField, int)
獲取指定日期偏移指定時間后的時間,生成的偏移日期不影響原日期

Hutool 常用工具類介紹-DateUtil

String dateStr2 = "2021-05-16 22:50:34.111";
        DateTime date2 = DateUtil.parse(dateStr2,"yyyy-MM-dd HH:mm:ss.SSS");
        int millisecond = DateUtil.millisecond(date2);
        DateTime dateTime = DateUtil.endOfSecond(date2);
        DateTime dateTime1 = DateUtil.endOfMinute(date2);
        System.out.println(dateTime1);
        Assert.assertEquals(999, DateUtil.millisecond(dateTime));
 @Test
    public void testOffset(){

       //方法名稱:cn.hutool.core.date.DateUtil.truncate(java.util.Date, cn.hutool.core.date.DateField)


        /*String dateStr2 = "2020-02-29 12:59:34";
        Date date2 = DateUtil.parse(dateStr2);
        final DateTime dateTime = DateUtil.truncate(date2, DateField.HOUR);
        Assert.assertEquals("2020-02-29 12:00:00", dateTime.toString());*/

        //方法名稱:cn.hutool.core.date.DateUtil.round(java.util.Date, cn.hutool.core.date.DateField)
        /*String dateStr2 = "2020-02-29 12:59:34";
        Date date2 = DateUtil.parse(dateStr2);
        DateTime dateTime = DateUtil.round(date2, DateField.MINUTE);
        Assert.assertEquals("2020-02-29 12:59:59", dateTime.toString());

        dateStr2 = "2020-02-29 12:05:29";
        date2 = DateUtil.parse(dateStr2);
        dateTime = DateUtil.round(date2, DateField.MINUTE);
        Assert.assertEquals("2020-02-29 12:05:00", dateTime.toString());*/

        String dateStr2 = "2020-02-29 12:59:34";
        Date date2 = DateUtil.parse(dateStr2);
        DateTime dateTime = DateUtil.ceiling(date2, DateField.MINUTE);
        Assert.assertEquals("2020-02-29 12:59:59", dateTime.toString());



    }

Hutool 常用工具類介紹-DateUtil

 String dateStr2 = "2021-05-16 22:50:34.111";
        Date date2 = DateUtil.parse(dateStr2);
        DateTime dateTime = DateUtil.beginOfSecond(date2);
        Assert.assertEquals("2021-05-16 22:50:34", dateTime.toString());
        DateTime dateTime1 = DateUtil.beginOfMinute(dateTime);
        System.out.println(dateTime1);
        Assert.assertEquals("2021-05-16 22:50:00", dateTime1.toString());
        DateTime dateTime2 = DateUtil.beginOfDay(dateTime);
        System.out.println(dateTime2);
        Assert.assertEquals("2021-05-16 00:00:00", dateTime2.toString());
        //昨天
		DateTime dateTime = DateUtil.yesterday();
		System.out.println(dateTime);
		Assert.assertNotNull(dateTime);

		//明天
		DateTime dateTime = DateUtil.tomorrow();
		System.out.println(dateTime);
		Assert.assertNotNull(dateTime);

	//上周
	DateTime dateTime = DateUtil.lastWeek();
	System.out.println(dateTime);
	Assert.assertNotNull(dateTime);

	//下周
	DateTime dateTime = DateUtil.nextWeek();
	System.out.println(dateTime);
	Assert.assertNotNull(dateTime);
	//上個月
	DateTime dateTime = DateUtil.lastMonth();
	System.out.println(dateTime);
	Assert.assertNotNull(dateTime);
		//偏移月
		String dateStr2 = "2021-05-16 22:50:34";
		DateTime date2 = DateUtil.parse(dateStr2);
		DateTime dateTime = DateUtil.offsetMonth(date2,1);
		Assert.assertEquals("2021-06-16 22:50:34", dateTime.toString());
		dateTime = DateUtil.offsetMonth(date2,-1);
		Assert.assertEquals("2021-04-16 22:50:34", dateTime.toString());

獲取指定日期偏移指定時間后的時間,生成的偏移日期不影響原日期

        String dateStr = "2017-03-01 22:33:23";
		Date date = DateUtil.parse(dateStr);

		Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
		Assert.assertEquals("2017-03-03 22:33:23", newDate.toString());

日期計算

方法 描述
cn.hutool.core.date.DateUtil.between
(java.util.Date, java.util.Date, cn.hutool.core.date.DateUnit)
判斷兩個日期相差的時長,只保留絕對值
cn.hutool.core.date.DateUtil.between
(java.util.Date, java.util.Date, cn.hutool.core.date.DateUnit, boolean)
判斷兩個日期相差的時長
cn.hutool.core.date.DateUtil.betweenMs
(java.util.Date, java.util.Date)
判斷兩個日期相差的毫秒數(shù)
cn.hutool.core.date.DateUtil.betweenDay
(java.util.Date, java.util.Date, boolean)
判斷兩個日期相差的天數(shù)
 有時候我們計算相差天數(shù)的時候需要忽略時分秒。 
比如:2016-02-01 23:59:59和2016-02-02 00:00:00相差一秒
如果isReset為{@code false}相差天數(shù)為0。
如果isReset為{@code true}相差天數(shù)將被計算為1
cn.hutool.core.date.DateUtil.betweenWeek
(java.util.Date, java.util.Date, boolean)
計算指定指定時間區(qū)間內(nèi)的周數(shù)
cn.hutool.core.date.DateUtil.betweenMonth
(java.util.Date, java.util.Date, boolean)
計算兩個日期相差月數(shù)
在非重置情況下,如果起始日期的天大于結(jié)束日期的天,月數(shù)要少算1(不足1個月)
cn.hutool.core.date.DateUtil.betweenYear
(java.util.Date, java.util.Date, boolean)
計算兩個日期相差年數(shù)
在非重置情況下,如果起始日期的月大于結(jié)束日期的月,年數(shù)要少算1(不足1年)
cn.hutool.core.date.DateUtil.formatBetween
(java.util.Date, java.util.Date, cn.hutool.core.date.BetweenFormatter.Level)
格式化日期間隔輸出
cn.hutool.core.date.DateUtil.formatBetween
(java.util.Date, java.util.Date)
格式化日期間隔輸出,精確到毫秒
cn.hutool.core.date.DateUtil.formatBetween
(long, cn.hutool.core.date.BetweenFormatter.Level)
格式化日期間隔輸出
cn.hutool.core.date.DateUtil.formatBetween
(long)
格式化日期間隔輸出,精確到毫秒
cn.hutool.core.date.DateUtil.isIn
(java.util.Date, java.util.Date, java.util.Date)
當前日期是否在日期指定范圍內(nèi)
起始日期和結(jié)束日期可以互換
cn.hutool.core.date.DateUtil.isSameTime
(java.util.Date, java.util.Date)
是否為相同時間
此方法比較兩個日期的時間戳是否相同
cn.hutool.core.date.DateUtil.isSameDay
(java.util.Date, java.util.Date)
比較兩個日期是否為同一天
cn.hutool.core.date.DateUtil.isSameMonth
(java.util.Date, java.util.Date)
比較兩個日期是否為同一月
cn.hutool.core.date.DateUtil.spendNt
(long)
計時,常用于記錄某段代碼的執(zhí)行時間,單位:納秒
cn.hutool.core.date.DateUtil.spendMs
(long)
計時,常用于記錄某段代碼的執(zhí)行時間,單位:毫秒
cn.hutool.core.date.DateUtil.toIntSecond
(java.util.Date)
格式化成yyMMddHHmm后轉(zhuǎn)換為int型
cn.hutool.core.date.DateUtil.timer()
計時器
計算某個過程花費的時間,精確到毫秒
cn.hutool.core.date.DateUtil.timer
(boolean)
計時器
計算某個過程花費的時間,精確到毫秒
cn.hutool.core.date.DateUtil.createStopWatch()
創(chuàng)建秒表{@link StopWatch},用于對代碼塊的執(zhí)行時間計數(shù)

使用方法如下:

 StopWatch stopWatch = DateUtil.createStopWatch(); 
// 任務1 stopWatch.start(“任務一”); Thread.sleep(1000); stopWatch.stop();
// 任務2 stopWatch.start(“任務一”); Thread.sleep(2000); stopWatch.stop();
// 打印出耗時 Console.log(stopWatch.prettyPrint());
cn.hutool.core.date.DateUtil.createStopWatch
(java.lang.String)
創(chuàng)建秒表{@link StopWatch},用于對代碼塊的執(zhí)行時間計數(shù)

使用方法如下:

 StopWatch stopWatch = DateUtil.createStopWatch(“任務名稱”);
// 任務1 stopWatch.start(“任務一”); Thread.sleep(1000); stopWatch.stop();
// 任務2 stopWatch.start(“任務一”); Thread.sleep(2000); stopWatch.stop();
// 打印出耗時 Console.log(stopWatch.prettyPrint());
cn.hutool.core.date.DateUtil.ageOfNow
(java.lang.String)
生日轉(zhuǎn)為年齡,計算法定年齡
cn.hutool.core.date.DateUtil.ageOfNow
(java.util.Date)
生日轉(zhuǎn)為年齡,計算法定年齡
cn.hutool.core.date.DateUtil.isLeapYear
(int)
是否閏年
cn.hutool.core.date.DateUtil.age
(java.util.Date, java.util.Date)
計算相對于dateToCompare的年齡,長用于計算指定生日在某年的年齡
cn.hutool.core.date.DateUtil.timeToSecond
(java.lang.String)
HH:mm:ss 時間格式字符串轉(zhuǎn)為秒數(shù)
參考:https://github.com/iceroot
cn.hutool.core.date.DateUtil.secondToTime
(int)
秒數(shù)轉(zhuǎn)為時間格式(HH:mm:ss)
參考:https://github.com/iceroot
cn.hutool.core.date.DateUtil.range
(java.util.Date, java.util.Date, cn.hutool.core.date.DateField)
創(chuàng)建日期范圍生成器
cn.hutool.core.date.DateUtil.rangeToList
(java.util.Date, java.util.Date, cn.hutool.core.date.DateField)
創(chuàng)建日期范圍生成器
cn.hutool.core.date.DateUtil.getZodiac
(int, int)
通過生日計算星座
cn.hutool.core.date.DateUtil.getChineseZodiac
(int)
計算生肖,只計算1900年后出生的人
cn.hutool.core.date.DateUtil.compare
(java.util.Date, java.util.Date)
{@code null}安全的日期比較,{@code null}對象排在末尾
cn.hutool.core.date.DateUtil.compare
(java.util.Date, java.util.Date, java.lang.String)
{@code null}安全的日期比較,并只比較指定格式;
{@code null}對象排在末尾, 并指定日期格式;
cn.hutool.core.date.DateUtil.nanosToMillis
(long)
納秒轉(zhuǎn)毫秒
cn.hutool.core.date.DateUtil.nanosToSeconds
(long)
納秒轉(zhuǎn)秒,保留小數(shù)
cn.hutool.core.date.DateUtil.toInstant
(java.util.Date)
Date對象轉(zhuǎn)換為{@link Instant}對象
cn.hutool.core.date.DateUtil.toInstant
(java.time.temporal.TemporalAccessor)
Date對象轉(zhuǎn)換為{@link Instant}對象
cn.hutool.core.date.DateUtil.toLocalDateTime
(java.time.Instant)
{@link Instant} 轉(zhuǎn)換為 {@link LocalDateTime},使用系統(tǒng)默認時區(qū)
cn.hutool.core.date.DateUtil.toLocalDateTime
(java.util.Date)
{@link Date} 轉(zhuǎn)換為 {@link LocalDateTime},使用系統(tǒng)默認時區(qū)
cn.hutool.core.date.DateUtil.lengthOfYear
(int)
獲得指定年份的總天數(shù)
cn.hutool.core.date.DateUtil.lengthOfMonth
(int, boolean)
獲得指定月份的總天數(shù)

between 判斷兩個日期相差的時長,只保留絕對值

Hutool 常用工具類介紹-DateUtil

 String dateStr1 = "2017-03-01 22:34:23";
        Date date1 = DateUtil.parse(dateStr1);

        String dateStr2 = "2017-04-01 23:56:14";
        Date date2 = DateUtil.parse(dateStr2);

        // 相差月
        long betweenMonth = DateUtil.betweenMonth(date1, date2, false);
        Assert.assertEquals(1, betweenMonth);// 相差一個月
        // 反向
        betweenMonth = DateUtil.betweenMonth(date2, date1, false);
        Assert.assertEquals(1, betweenMonth);// 相差一個月

        // 相差天
        long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY);
        Assert.assertEquals(31, betweenDay);// 相差一個月,31天
        // 反向
        betweenDay = DateUtil.between(date2, date1, DateUnit.DAY);
        Assert.assertEquals(31, betweenDay);// 相差一個月,31天

        // 相差小時
        long betweenHour = DateUtil.between(date1, date2, DateUnit.HOUR);
        Assert.assertEquals(745, betweenHour);
        // 反向
        betweenHour = DateUtil.between(date2, date1, DateUnit.HOUR);
        Assert.assertEquals(745, betweenHour);

        // 相差分
        long betweenMinute = DateUtil.between(date1, date2, DateUnit.MINUTE);
        Assert.assertEquals(44721, betweenMinute);
        // 反向
        betweenMinute = DateUtil.between(date2, date1, DateUnit.MINUTE);
        Assert.assertEquals(44721, betweenMinute);

        // 相差秒
        long betweenSecond = DateUtil.between(date1, date2, DateUnit.SECOND);
        Assert.assertEquals(2683311, betweenSecond);
        // 反向
        betweenSecond = DateUtil.between(date2, date1, DateUnit.SECOND);
        Assert.assertEquals(2683311, betweenSecond);

        // 相差秒
        long betweenMS = DateUtil.between(date1, date2, DateUnit.MS);
        Assert.assertEquals(2683311000L, betweenMS);
        // 反向
        betweenMS = DateUtil.between(date2, date1, DateUnit.MS);
        Assert.assertEquals(2683311000L, betweenMS);
        long between = DateUtil.between(DateUtil.parse("2019-05-06 02:15:00"), DateUtil.parse("2019-05-06 02:20:00"), DateUnit.HOUR);
        Assert.assertEquals(0, between);

cn.hutool.core.date.DateUtil.betweenYear(java.util.Date, java.util.Date, boolean)
方法描述
計算兩個日期相差年數(shù)

在非重置情況下,如果起始日期的月大于結(jié)束日期的月,年數(shù)要少算1(不足1年)

		long betweenYear = DateUtil.betweenYear(DateUtil.parse("2021-05-18 22:15:00"), DateUtil.parse("2020-05-18 21:15:00"),true);
		Assert.assertEquals(1, betweenYear);

		betweenYear = DateUtil.betweenYear(DateUtil.parse("2020-05-18 22:15:00"), DateUtil.parse("2021-05-18 22:15:00"),true);
		Assert.assertEquals(1, betweenYear);

		betweenYear = DateUtil.betweenYear(DateUtil.parse("2020-05-18 22:15:00"), DateUtil.parse("2021-05-18 21:15:00"),false);
		Assert.assertEquals(0, betweenYear);

		betweenYear = DateUtil.betweenYear(DateUtil.parse("2020-05-18 22:15:00"), DateUtil.parse("2021-05-19 22:15:00"),false);
		Assert.assertEquals(1, betweenYear);

		betweenYear = DateUtil.betweenYear(DateUtil.parse("2020-05-18 22:15:00"), DateUtil.parse("2021-04-18 22:15:00"),false);
		Assert.assertEquals(0, betweenYear);

formatBetween(java.util.Date, java.util.Date, cn.hutool.core.date.BetweenFormatter.Level)

level 級別,按照天、小時、分、秒、毫秒分為5個等級

String dateStr1 = "2017-03-01 22:34:23";
        Date date1 = DateUtil.parse(dateStr1);

        String dateStr2 = "2017-04-01 23:56:14";
        Date date2 = DateUtil.parse(dateStr2);

        long between = DateUtil.between(date1, date2, DateUnit.MS);
        String formatBetween = DateUtil.formatBetween(between, BetweenFormatter.Level.MINUTE);
        Assert.assertEquals("31天1小時21分", formatBetween);

isIn(java.util.Date, java.util.Date, java.util.Date)

當前日期是否在日期指定范圍內(nèi)

起始日期和結(jié)束日期可以互換

		String dateStr = "2017-03-01 22:34:23.100";
		Date date = DateUtil.parse(dateStr);
		String dateStr1 = "2017-02-01 22:34:23.100";
		Date date1 = DateUtil.parse(dateStr1);

		String dateStr2 = "2017-04-01 23:56:14.001";
		Date date2 = DateUtil.parse(dateStr2);
		boolean isIn = DateUtil.isIn(date,date1,date2);
		Assert.assertEquals(Boolean.TRUE, isIn);
		dateStr = "2017-05-01 22:34:23.100";
		 date = DateUtil.parse(dateStr);
		 isIn = DateUtil.isIn(date,date1,date2);
		Assert.assertEquals(Boolean.FALSE, isIn);

isSameTime(java.util.Date, java.util.Date)

是否為相同時間

此方法比較兩個日期的時間戳是否相同

		String dateStr = "2017-02-01 22:34:23.100";
		Date date = DateUtil.parse(dateStr);
		String dateStr1 = "2017-02-01 22:34:23.100";
		Date date1 = DateUtil.parse(dateStr1);
		boolean isSameTime = DateUtil.isSameTime(date,date1);
		Assert.assertEquals(Boolean.TRUE, isSameTime);
		dateStr1 = "2017-02-01 22:34:23.110";
		date1 = DateUtil.parse(dateStr1);
		isSameTime = DateUtil.isSameTime(date,date1);
		Assert.assertEquals(Boolean.FALSE, isSameTime);

		String dateStr1 = "2021-05-19 22:34:23.100";
		Date date1 = DateUtil.parse(dateStr1);
		String dateStr2 = "2021-05-19 23:56:14.001";
		Date date2 = DateUtil.parse(dateStr2);
		boolean isSameDay = DateUtil.isSameDay(date1,date2);
		Assert.assertEquals(Boolean.TRUE, isSameDay);
		 dateStr2 = "2021-05-20 23:56:14.001";
		 date2 = DateUtil.parse(dateStr2);
		 isSameDay = DateUtil.isSameDay(date1,date2);
		Assert.assertEquals(Boolean.FALSE, isSameDay);

Hutool 常用工具類介紹-DateUtil

spendNt(long)

計時,常用于記錄某段代碼的執(zhí)行時間,單位:納秒

		//計時,常用于記錄某段代碼的執(zhí)行時間,單位:納秒
		int j= 0;
		long nanoTimeStart = System.nanoTime();
		for (int i = 0; i < 100000; i++) {
			 j=j+i;
		}
		long nanoTimeEnd = DateUtil.spendNt(nanoTimeStart);
		System.out.println("運行時間為:"+nanoTimeEnd+"納秒");
		System.out.println("j的值為:"+j);

spendMs(long)
方法描述
計時,常用于記錄某段代碼的執(zhí)行時間,單位:毫秒

timer()

		TimeInterval timer = DateUtil.timer();

		// ---------------------------------
		// -------這是執(zhí)行過程
		// ---------------------------------

		timer.interval();// 花費毫秒數(shù)
		timer.intervalRestart();// 返回花費時間,并重置開始時間
		timer.intervalMinute();// 花費分鐘數(shù)

createStopWatch()

方法描述
創(chuàng)建秒表{@link StopWatch},用于對代碼塊的執(zhí)行時間計數(shù)

使用方法如下:

StopWatch stopWatch = DateUtil.createStopWatch();

// 任務1
stopWatch.start(“任務一”);
Thread.sleep(1000);
stopWatch.stop();

// 任務2
stopWatch.start(“任務一”);
Thread.sleep(2000);
stopWatch.stop();

// 打印出耗時
Console.log(stopWatch.prettyPrint());

		StopWatch stopWatch = DateUtil.createStopWatch("任務名稱");
		// 任務1
		stopWatch.start("任務一");
		Thread.sleep(1000);
		stopWatch.stop();
		// 任務2
		stopWatch.start("任務二");
		Thread.sleep(2000);
		stopWatch.stop();
		// 打印出耗時
		System.out.println(stopWatch.prettyPrint());

年齡計算

Hutool 常用工具類介紹-DateUtil

		String birthDay = "2019-05-19";
		//生日轉(zhuǎn)為年齡,計算法定年齡(生日,標準日期字符串)
		int ageOfNow = DateUtil.ageOfNow(birthDay);
		System.out.println(ageOfNow);

        String d1 = "2000-02-29";
		String d2 = "2018-02-28";
		final int age = DateUtil.age(DateUtil.parseDate(d1), DateUtil.parseDate(d2));
		Assert.assertEquals(18, age);

isLeapYear(int)

方法描述
是否閏年

timeToSecond(java.lang.String)

		int second = DateUtil.timeToSecond("00:01:40");
		Assert.assertEquals(100, second);
		second = DateUtil.timeToSecond("00:00:40");
		Assert.assertEquals(40, second);
		second = DateUtil.timeToSecond("01:00:00");
		Assert.assertEquals(3600, second);
		second = DateUtil.timeToSecond("00:00:00");
		Assert.assertEquals(0, second);

secondToTime(int)

方法描述
秒數(shù)轉(zhuǎn)為時間格式(HH:mm:ss)

		String time = DateUtil.secondToTime(3600);
		Assert.assertEquals("01:00:00", time);
		time = DateUtil.secondToTime(3800);
		Assert.assertEquals("01:03:20", time);
		time = DateUtil.secondToTime(0);
		Assert.assertEquals("00:00:00", time);
		time = DateUtil.secondToTime(30);
		Assert.assertEquals("00:00:30", time);

compare(java.util.Date, java.util.Date)

比較結(jié)果,如果date1 < date2,返回數(shù)小于0,date1==date2返回0,date1 > date2 大于0

    Date date1 = DateUtil.parse("2021-04-13 23:59:59.999");
	Date date2 = DateUtil.parse("2021-04-13 23:59:10");

	Assert.assertEquals(1, DateUtil.compare(date1, date2));
        Date date1 = DateUtil.parse("2021-04-13 23:59:59.999");
		Date date2 = DateUtil.parse("2021-04-13 23:59:10");
		Assert.assertEquals(1, DateUtil.compare(date1, date2, DatePattern.NORM_DATETIME_PATTERN));
		Assert.assertEquals(0, DateUtil.compare(date1, date2, DatePattern.NORM_DATE_PATTERN));
		Assert.assertEquals(0, DateUtil.compare(date1, date2, DatePattern.NORM_DATETIME_MINUTE_PATTERN));
		Date date11 = DateUtil.parse("2021-04-13 23:59:59.999");
		Date date22 = DateUtil.parse("2021-04-11 23:10:10");
		Assert.assertEquals(0, DateUtil.compare(date11, date22, DatePattern.NORM_MONTH_PATTERN));		

求一年,一月的天數(shù)

lengthOfYear(int)
int dayOfYear = DateUtil.dayOfYear(DateUtil.parse(“2020-01-01”));
Assert.assertEquals(1, dayOfYear);
int lengthOfYear = DateUtil.lengthOfYear(2020);
Assert.assertEquals(366, lengthOfYear);
int lengthOfMonth = DateUtil.lengthOfMonth(2,true);
Assert.assertEquals(29, lengthOfMonth);
lengthOfMonth = DateUtil.lengthOfMonth(2,false);
Assert.assertEquals(28, lengthOfMonth);

獲取當前時間

方法 描述
cn.hutool.core.date.DateUtil.date()
當前時間,轉(zhuǎn)換為{@link DateTime}對象
cn.hutool.core.date.DateUtil.dateSecond()
當前時間,轉(zhuǎn)換為{@link DateTime}對象,忽略毫秒部分
cn.hutool.core.date.DateUtil.current()
當前時間的時間戳
cn.hutool.core.date.DateUtil.currentSeconds()
當前時間的時間戳(秒)
cn.hutool.core.date.DateUtil.now()
當前時間,格式 yyyy-MM-dd HH:mm:ss
cn.hutool.core.date.DateUtil.today()
當前日期,格式 yyyy-MM-dd
// 當前時間
		DateTime date = DateUtil.date();
		System.out.println(date);
		System.out.println(date.toString());
		Assert.assertNotNull(date);
		// 當前時間
		DateTime date = DateUtil.date();
		System.out.println("long時間:"+date.getTime());

		//當前時間 忽略毫秒
		System.out.println("long時間忽略毫秒:"+DateUtil.dateSecond().getTime());
		//當前時間 忽略毫秒部分
		Date date4 = DateUtil.dateSecond();
		Assert.assertNotNull(date4);

常用的時間類型轉(zhuǎn)換

方法 描述
cn.hutool.core.date.DateUtil.dateNew(java.util.Date)
根據(jù)已有{@link Date} 產(chǎn)生新的{@link DateTime}對象
cn.hutool.core.date.DateUtil.date(long)
Long類型時間轉(zhuǎn)為{@link DateTime}<br> 只支持毫秒級別時間戳,如果需要秒級別時間戳,請自行×1000
cn.hutool.core.date.DateUtil.date(java.util.Calendar)
{@link Calendar}類型時間轉(zhuǎn)為{@link DateTime}<br> 始終根據(jù)已有{@link Calendar} 產(chǎn)生新的{@link DateTime}對象
cn.hutool.core.date.DateUtil.date(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}類型時間轉(zhuǎn)為{@link DateTime}<br> 始終根據(jù)已有{@link TemporalAccessor} 產(chǎn)生新的{@link DateTime}對象

獲取日期的各種內(nèi)容

獲取日期的各種內(nèi)容,包含:年,季度,月,周,星期,日,時,分,秒,毫秒

方法 描述
cn.hutool.core.date.DateUtil.year(java.util.Date)
獲得年的部分
cn.hutool.core.date.DateUtil.quarter(java.util.Date)
獲得指定日期所屬季度,從1開始計數(shù)
cn.hutool.core.date.DateUtil.quarterEnum(java.util.Date)
獲得指定日期所屬季度
cn.hutool.core.date.DateUtil.month(java.util.Date)
獲得月份,從0開始計數(shù)
cn.hutool.core.date.DateUtil.monthEnum(java.util.Date)
獲得月份
cn.hutool.core.date.DateUtil.weekOfYear(java.util.Date)
獲得指定日期是所在年份的第幾周<br> 此方法返回值與一周的第一天有關,比如:<br> 2016年1月3日為周日,如果一周的第一天為周日,那這天是第二周(返回2)<br> 如果一周的第一天為周一,那這天是第一周(返回1)<br> 跨年的那個星期得到的結(jié)果總是1
cn.hutool.core.date.DateUtil.weekOfMonth(java.util.Date)
獲得指定日期是所在月份的第幾周<br>
cn.hutool.core.date.DateUtil.dayOfMonth(java.util.Date)
獲得指定日期是這個日期所在月份的第幾天<br>
cn.hutool.core.date.DateUtil.dayOfYear(java.util.Date)
獲得指定日期是這個日期所在年的第幾天
cn.hutool.core.date.DateUtil.dayOfWeek(java.util.Date)
獲得指定日期是星期幾,1表示周日,2表示周一
cn.hutool.core.date.DateUtil.dayOfWeekEnum(java.util.Date)
獲得指定日期是星期幾
cn.hutool.core.date.DateUtil.hour(java.util.Date, boolean)
獲得指定日期的小時數(shù)部分<br>
cn.hutool.core.date.DateUtil.minute(java.util.Date)
獲得指定日期的分鐘數(shù)部分<br> 例如:10:04:15.250 =》 4
cn.hutool.core.date.DateUtil.second(java.util.Date)
獲得指定日期的秒數(shù)部分<br>
cn.hutool.core.date.DateUtil.millisecond(java.util.Date)
獲得指定日期的毫秒數(shù)部分<br>
cn.hutool.core.date.DateUtil.isAM(java.util.Date)
是否為上午
cn.hutool.core.date.DateUtil.isPM(java.util.Date)
是否為下午
cn.hutool.core.date.DateUtil.thisYear()
今年
cn.hutool.core.date.DateUtil.thisMonth()
當前月份
cn.hutool.core.date.DateUtil.thisMonthEnum()
//當前月份枚舉
cn.hutool.core.date.DateUtil.thisWeekOfYear()
當前日期所在年份的第幾周
cn.hutool.core.date.DateUtil.thisWeekOfMonth()
當前日期所在月份的第幾周
cn.hutool.core.date.DateUtil.thisDayOfMonth()
當前日期是這個日期所在月份的第幾天
cn.hutool.core.date.DateUtil.thisDayOfWeek()
當前日期是星期幾
cn.hutool.core.date.DateUtil.thisDayOfWeekEnum()
當前日期是星期幾 枚舉
cn.hutool.core.date.DateUtil.thisHour(boolean)
當前日期的小時數(shù)部分 是否24小時制
cn.hutool.core.date.DateUtil.thisMinute()
當前日期的分鐘數(shù)部分
cn.hutool.core.date.DateUtil.thisSecond()
當前日期的秒數(shù)部分
cn.hutool.core.date.DateUtil.thisMillisecond()
當前日期的毫秒數(shù)部分
cn.hutool.core.date.DateUtil.yearAndQuarter(java.util.Date)
獲得指定日期年份和季節(jié)<br> 格式:[20131]表示2013年第一季度
cn.hutool.core.date.DateUtil.yearAndQuarter(java.util.Date, java.util.Date)
獲得指定日期區(qū)間內(nèi)的年份和季節(jié)<br>

獲得月份,從0開始計數(shù)

農(nóng)歷日期工具類ChineseDate

方法 描述
cn.hutool.core.date.ChineseDate.getChineseYear()
獲得農(nóng)歷年份
cn.hutool.core.date.ChineseDate.getGregorianYear()
獲取公歷的年
cn.hutool.core.date.ChineseDate.getMonth()
獲取農(nóng)歷的月,從1開始計數(shù)
cn.hutool.core.date.ChineseDate.getGregorianMonthBase1()
獲取公歷的月,從1開始計數(shù)
cn.hutool.core.date.ChineseDate.getGregorianMonth()
獲取公歷的月,從0開始計數(shù)
cn.hutool.core.date.ChineseDate.isLeapMonth()
當前農(nóng)歷月份是否為閏月
cn.hutool.core.date.ChineseDate.getChineseMonth()
獲得農(nóng)歷月份(中文,例如二月,十二月,或者潤一月)
cn.hutool.core.date.ChineseDate.getChineseMonthName()
獲得農(nóng)歷月稱呼(中文,例如二月,臘月,或者潤正月)
cn.hutool.core.date.ChineseDate.getDay()
獲取農(nóng)歷的日,從1開始計數(shù)
cn.hutool.core.date.ChineseDate.getGregorianDay()
獲取公歷的日
cn.hutool.core.date.ChineseDate.getChineseDay()
獲得農(nóng)歷日
cn.hutool.core.date.ChineseDate.getGregorianDate()
獲取公歷的Date
cn.hutool.core.date.ChineseDate.getGregorianCalendar()
獲取公歷的Calendar
cn.hutool.core.date.ChineseDate.getFestivals()
獲得節(jié)日
cn.hutool.core.date.ChineseDate.getChineseZodiac()
獲得年份生肖
cn.hutool.core.date.ChineseDate.getCyclical()
獲得年的天干地支
cn.hutool.core.date.ChineseDate.getCyclicalYMD()
干支紀年信息
cn.hutool.core.date.ChineseDate.getTerm()
獲得節(jié)氣
cn.hutool.core.date.ChineseDate.toStringNormal()
轉(zhuǎn)換為標準的日期格式來表示農(nóng)歷日期,例如2020-01-13
cn.hutool.core.date.ChineseDate.toString()

LocalDateTimeUtil(JDK8+中的LocalDateTime 工具類封裝)

方法 描述
cn.hutool.core.date.LocalDateTimeUtil.now()
當前時間,默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.Instant)
{@link Instant}轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.ofUTC(java.time.Instant)
{@link Instant}轉(zhuǎn){@link LocalDateTime},使用UTC時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.ZonedDateTime)
{@link ZonedDateTime}轉(zhuǎn){@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.Instant, java.time.ZoneId)
{@link Instant}轉(zhuǎn){@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.Instant, java.util.TimeZone)
{@link Instant}轉(zhuǎn){@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.of(long)
毫秒轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)

注意:此方法使用默認時區(qū),如果非UTC,會產(chǎn)生時間偏移

cn.hutool.core.date.LocalDateTimeUtil.ofUTC(long)
毫秒轉(zhuǎn){@link LocalDateTime},使用UTC時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(long, java.time.ZoneId)
毫秒轉(zhuǎn){@link LocalDateTime},根據(jù)時區(qū)不同,結(jié)果會產(chǎn)生時間偏移
cn.hutool.core.date.LocalDateTimeUtil.of(long, java.util.TimeZone)
毫秒轉(zhuǎn){@link LocalDateTime},結(jié)果會產(chǎn)生時間偏移
cn.hutool.core.date.LocalDateTimeUtil.of(java.util.Date)
{@link Date}轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.ofDate(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}轉(zhuǎn){@link LocalDate},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.parse(java.lang.CharSequence)
解析日期時間字符串為{@link LocalDateTime},僅支持yyyy-MM-dd’T’HH:mm:ss格式,例如:2007-12-03T10:15:30
cn.hutool.core.date.LocalDateTimeUtil.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)
解析日期時間字符串為{@link LocalDateTime},格式支持日期時間、日期、時間
cn.hutool.core.date.LocalDateTimeUtil.parse(java.lang.CharSequence, java.lang.String)
解析日期時間字符串為{@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.parseDate(java.lang.CharSequence)
解析日期時間字符串為{@link LocalDate},僅支持yyyy-MM-dd’T’HH:mm:ss格式,例如:2007-12-03T10:15:30
cn.hutool.core.date.LocalDateTimeUtil.parseDate(java.lang.CharSequence, java.time.format.DateTimeFormatter)
解析日期時間字符串為{@link LocalDate},格式支持日期
cn.hutool.core.date.LocalDateTimeUtil.parseDate(java.lang.CharSequence, java.lang.String)
解析日期字符串為{@link LocalDate}
cn.hutool.core.date.LocalDateTimeUtil.formatNormal(java.time.LocalDateTime)
格式化日期時間為yyyy-MM-dd HH:mm:ss格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDateTime, java.time.format.DateTimeFormatter)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDateTime, java.lang.String)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.formatNormal(java.time.LocalDate)
格式化日期時間為yyyy-MM-dd格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDate, java.time.format.DateTimeFormatter)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDate, java.lang.String)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.offset(java.time.LocalDateTime, long, java.time.temporal.TemporalUnit)
日期偏移,根據(jù)field不同加不同值(偏移會修改傳入的對象)
cn.hutool.core.date.LocalDateTimeUtil.between(java.time.LocalDateTime, java.time.LocalDateTime)
獲取兩個日期的差,如果結(jié)束時間早于開始時間,獲取結(jié)果為負。

返回結(jié)果為{@link Duration}對象,通過調(diào)用toXXX方法返回相差單位

cn.hutool.core.date.LocalDateTimeUtil.between(java.time.LocalDateTime, java.time.LocalDateTime, java.time.temporal.ChronoUnit)
獲取兩個日期的差,如果結(jié)束時間早于開始時間,獲取結(jié)果為負。

返回結(jié)果為時間差的long值

cn.hutool.core.date.LocalDateTimeUtil.betweenPeriod(java.time.LocalDate, java.time.LocalDate)
獲取兩個日期的表象時間差,如果結(jié)束時間早于開始時間,獲取結(jié)果為負。

比如2011年2月1日,和2021年8月11日,日相差了10天,月相差6月

cn.hutool.core.date.LocalDateTimeUtil.beginOfDay(java.time.LocalDateTime)
修改為一天的開始時間,例如:2020-02-02 00:00:00,000
cn.hutool.core.date.LocalDateTimeUtil.endOfDay(java.time.LocalDateTime)
修改為一天的結(jié)束時間,例如:2020-02-02 23:59:59,999
cn.hutool.core.date.LocalDateTimeUtil.toEpochMilli(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}轉(zhuǎn)換為 時間戳(從1970-01-01T00:00:00Z開始的毫秒數(shù))

TemporalAccessorUtil{TemporalAccessor} 工具類封裝

方法 描述
cn.hutool.core.date.LocalDateTimeUtil.now()
當前時間,默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.Instant)
{@link Instant}轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.ofUTC(java.time.Instant)
{@link Instant}轉(zhuǎn){@link LocalDateTime},使用UTC時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.ZonedDateTime)
{@link ZonedDateTime}轉(zhuǎn){@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.Instant, java.time.ZoneId)
{@link Instant}轉(zhuǎn){@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.Instant, java.util.TimeZone)
{@link Instant}轉(zhuǎn){@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.of(long)
毫秒轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)

注意:此方法使用默認時區(qū),如果非UTC,會產(chǎn)生時間偏移

cn.hutool.core.date.LocalDateTimeUtil.ofUTC(long)
毫秒轉(zhuǎn){@link LocalDateTime},使用UTC時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(long, java.time.ZoneId)
毫秒轉(zhuǎn){@link LocalDateTime},根據(jù)時區(qū)不同,結(jié)果會產(chǎn)生時間偏移
cn.hutool.core.date.LocalDateTimeUtil.of(long, java.util.TimeZone)
毫秒轉(zhuǎn){@link LocalDateTime},結(jié)果會產(chǎn)生時間偏移
cn.hutool.core.date.LocalDateTimeUtil.of(java.util.Date)
{@link Date}轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.of(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}轉(zhuǎn){@link LocalDateTime},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.ofDate(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}轉(zhuǎn){@link LocalDate},使用默認時區(qū)
cn.hutool.core.date.LocalDateTimeUtil.parse(java.lang.CharSequence)
解析日期時間字符串為{@link LocalDateTime},僅支持yyyy-MM-dd’T’HH:mm:ss格式,例如:2007-12-03T10:15:30
cn.hutool.core.date.LocalDateTimeUtil.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)
解析日期時間字符串為{@link LocalDateTime},格式支持日期時間、日期、時間
cn.hutool.core.date.LocalDateTimeUtil.parse(java.lang.CharSequence, java.lang.String)
解析日期時間字符串為{@link LocalDateTime}
cn.hutool.core.date.LocalDateTimeUtil.parseDate(java.lang.CharSequence)
解析日期時間字符串為{@link LocalDate},僅支持yyyy-MM-dd’T’HH:mm:ss格式,例如:2007-12-03T10:15:30
cn.hutool.core.date.LocalDateTimeUtil.parseDate(java.lang.CharSequence, java.time.format.DateTimeFormatter)
解析日期時間字符串為{@link LocalDate},格式支持日期
cn.hutool.core.date.LocalDateTimeUtil.parseDate(java.lang.CharSequence, java.lang.String)
解析日期字符串為{@link LocalDate}
cn.hutool.core.date.LocalDateTimeUtil.formatNormal(java.time.LocalDateTime)
格式化日期時間為yyyy-MM-dd HH:mm:ss格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDateTime, java.time.format.DateTimeFormatter)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDateTime, java.lang.String)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.formatNormal(java.time.LocalDate)
格式化日期時間為yyyy-MM-dd格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDate, java.time.format.DateTimeFormatter)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.format(java.time.LocalDate, java.lang.String)
格式化日期時間為指定格式
cn.hutool.core.date.LocalDateTimeUtil.offset(java.time.LocalDateTime, long, java.time.temporal.TemporalUnit)
日期偏移,根據(jù)field不同加不同值(偏移會修改傳入的對象)
cn.hutool.core.date.LocalDateTimeUtil.between(java.time.LocalDateTime, java.time.LocalDateTime)
獲取兩個日期的差,如果結(jié)束時間早于開始時間,獲取結(jié)果為負。

返回結(jié)果為{@link Duration}對象,通過調(diào)用toXXX方法返回相差單位

cn.hutool.core.date.LocalDateTimeUtil.between(java.time.LocalDateTime, java.time.LocalDateTime, java.time.temporal.ChronoUnit)
獲取兩個日期的差,如果結(jié)束時間早于開始時間,獲取結(jié)果為負。

返回結(jié)果為時間差的long值

cn.hutool.core.date.LocalDateTimeUtil.betweenPeriod(java.time.LocalDate, java.time.LocalDate)
獲取兩個日期的表象時間差,如果結(jié)束時間早于開始時間,獲取結(jié)果為負。

比如2011年2月1日,和2021年8月11日,日相差了10天,月相差6月

cn.hutool.core.date.LocalDateTimeUtil.beginOfDay(java.time.LocalDateTime)
修改為一天的開始時間,例如:2020-02-02 00:00:00,000
cn.hutool.core.date.LocalDateTimeUtil.endOfDay(java.time.LocalDateTime)
修改為一天的結(jié)束時間,例如:2020-02-02 23:59:59,999
cn.hutool.core.date.LocalDateTimeUtil.toEpochMilli(java.time.temporal.TemporalAccessor)
{@link TemporalAccessor}轉(zhuǎn)換為 時間戳(從1970-01-01T00:00:00Z開始的毫秒數(shù))

轉(zhuǎn)換

Date、long、Calendar之間的相互轉(zhuǎn)換
//當前時間
Date date = DateUtil.date();
//當前時間
Date date2 = DateUtil.date(Calendar.getInstance());
//當前時間
Date date3 = DateUtil.date(System.currentTimeMillis());
//當前時間字符串,格式:yyyy-MM-dd HH:mm:ss
String now = DateUtil.now();
//當前日期字符串,格式:yyyy-MM-dd
String today= DateUtil.today();

日期時間對象-DateTime

由來
考慮工具類的局限性,在某些情況下使用并不簡便,于是DateTime類誕生。DateTime對象充分吸取Joda-Time庫的優(yōu)點,并提供更多的便捷方法,這樣我們在開發(fā)時不必再單獨導入Joda-Time庫便可以享受簡單快速的日期時間處理過程。

說明

DateTime類繼承于java.util.Date類,為Date類擴展了眾多簡便方法,這些方法多是DateUtil靜態(tài)方法的對象表現(xiàn)形式,使用DateTime對象可以完全替代開發(fā)中Date對象的使用。

使用

新建對象
DateTime對象包含眾多的構(gòu)造方法,構(gòu)造方法支持的參數(shù)有:

Date
Calendar
String(日期字符串,第二個參數(shù)是日期格式)
long 毫秒數(shù)
構(gòu)建對象有兩種方式:DateTime.of()和new DateTime():

Date date = new Date();

//new方式創(chuàng)建
DateTime time = new DateTime(date);
Console.log(time);

//of方式創(chuàng)建
DateTime now = DateTime.now();
DateTime dt = DateTime.of(date);
使用對象
DateTime的成員方法與DateUtil中的靜態(tài)方法所對應,因為是成員方法,因此可以使用更少的參數(shù)操作日期時間。

示例:獲取日期成員(年、月、日等)

DateTime dateTime = new DateTime(“2017-01-05 12:34:23”, DatePattern.NORM_DATETIME_FORMAT);

//年,結(jié)果:2017
int year = dateTime.year();

//季度(非季節(jié)),結(jié)果:Season.SPRING
Season season = dateTime.seasonEnum();

//月份,結(jié)果:Month.JANUARY
Month month = dateTime.monthEnum();

//日,結(jié)果:5
int day = dateTime.dayOfMonth();
更多成員方法請參閱API文檔。

對象的可變性
DateTime對象默認是可變對象(調(diào)用offset、setField、setTime方法默認變更自身),但是這種可變性有時候會引起很多問題(例如多個地方共用DateTime對象)。我們可以調(diào)用setMutable(false)方法使其變?yōu)椴豢勺儗ο蟆T诓豢勺兡J较?,offset、setField方法返回一個新對象,setTime方法拋出異常。

DateTime dateTime = new DateTime(“2017-01-05 12:34:23”, DatePattern.NORM_DATETIME_FORMAT);

//默認情況下DateTime為可變對象,此時offsite == dateTime
DateTime offsite = dateTime.offsite(DateField.YEAR, 0);

//設置為不可變對象后變動將返回新對象,此時offsite != dateTime
dateTime.setMutable(false);
offsite = dateTime.offsite(DateField.YEAR, 0);
格式化為字符串
調(diào)用toString()方法即可返回格式為yyyy-MM-dd HH:mm:ss的字符串,調(diào)用toString(String format)可以返回指定格式的字符串。

DateTime dateTime = new DateTime(“2017-01-05 12:34:23”, DatePattern.NORM_DATETIME_FORMAT);
//結(jié)果:2017-01-05 12:34:23
String dateStr = dateTime.toString();

//結(jié)果:2017/01/05文章來源地址http://www.zghlxwxcb.cn/news/detail-436458.html

到了這里,關于Hutool 常用工具類介紹-DateUtil的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Hutool中那些常用的工具類和實用方法

    靈魂拷問1:還在為新項目工具類搬遷而煩惱? 靈魂拷問2:還在為項目中工具類維護而煩惱? **Hutool** 它是一個Java工具集類庫,包含了很多靜態(tài)方法的封裝:流處理、時間日期處理、正則處理、加解密處理、文件處理、集合處理等,可以說是項目中幾乎所有XxxxUtil的替代品,

    2024年02月08日
    瀏覽(17)
  • Hutool.DateUtil時間工具方法解析

    1.依賴引入: dependency ? ? ? ? groupIdcn.hutool/groupId ? ? ? ? artifactIdhutool-core/artifactId ? ? ? ? version5.6.5/version /dependency 2.方法解析: parse可以識別到一些時間的常用格式: /*yyyy-MM-dd HH:mm:ss yyyy-MM-dd HH:mm:ss yyyy-MM-dd HH:mm yyyy-MM-dd HH:mm:ss SSS*/ ?1字符串與日期(Date)的相互轉(zhuǎn)換: DateUt

    2024年02月06日
    瀏覽(14)
  • MySQL管理常用工具介紹

    MySQL管理常用工具介紹

    該mysql不是指mysql服務,而是指mysql的客戶端工具。 ?-e選項可以在Mysql客戶端執(zhí)行SQL語句,而不用連接到MySQL數(shù)據(jù)庫再執(zhí)行,對于一些批處理腳本, 這種方式尤其方便。 示例: ? ? mysqladmin 是一個執(zhí)行管理操作的客戶端程序。可以用它來檢查服務器的配置和當前狀態(tài)、創(chuàng)建并

    2024年02月04日
    瀏覽(57)
  • Linux:常用軟件、工具和周邊知識介紹

    Linux:常用軟件、工具和周邊知識介紹

    上次也是結(jié)束了權(quán)限相關的知識:Linux:權(quán)限相關知識詳解 Yum(Yellowdog Updater Modified): Yum是Linux系統(tǒng)中用于管理軟件包的工具, 類似于手機上的應用商店 。是 基于 RPM(Red Hat Package Manager)的系統(tǒng) ,用于管理 RPM 軟件包 ,它提供了一種方便的方式來搜索、下載、安裝和卸載

    2024年04月25日
    瀏覽(21)
  • kali linux入門及常用簡單工具介紹

    kali linux入門及常用簡單工具介紹

    目錄 前言 一、kali linux是什么? 二、安裝下載kali 三、kali常見工具介紹 1.nmap 2.sqlmap 3.hydra 4.netcat 總結(jié) 相信很多同學了解到和學習網(wǎng)絡安全的時候都聽過 kali 系統(tǒng),大家都稱之為黑客最喜愛的系統(tǒng),那么什么是kali,初學者用kali能做些什么,我將在本文中做簡單的介紹 Kali L

    2024年02月08日
    瀏覽(25)
  • AI視頻成工具D-ID介紹(AI數(shù)字人常用工具)

    AI視頻成工具D-ID介紹(AI數(shù)字人常用工具)

    Studio D-id,?一個AI視頻成工具,用AI創(chuàng)作的數(shù)字人,輸入人物就可一鍵生成人物,上傳要說的文本或音頻則可以開口說話了。 關于AI語音,有很多選項可供選擇。目前,Studio D-id支持多達66種語言。然后,您可以使用普通話,廣東話,法語、西班牙語、印地語等創(chuàng)建出色

    2024年02月07日
    瀏覽(17)
  • docker——監(jiān)控以及常用監(jiān)控工具介紹和docker部署

    在公司的時候,監(jiān)控類的還是接觸的比較多?;旧暇褪莋rafana + datasource(prometheus、pg、es) + 告警規(guī)則 下面簡單介紹一些監(jiān)控維度以及幾種數(shù)據(jù)源工具和grafana使用(全部以docker部署,方便學習) 監(jiān)控維度 在主機上運?的容器是監(jiān)控的重中之重。作為應?的直接載體,使?者需

    2024年01月24日
    瀏覽(22)
  • 抓包工具Charles(四)-常用功能介紹(保存、導入導出、過濾、排序)

    Charles是常見的抓包工具之一 本篇介紹Charles的常用功能保存、導入導出、過濾、排序接口

    2024年02月13日
    瀏覽(22)
  • [自動化運維工具] Ansible的簡單介紹與常用模塊詳解

    [自動化運維工具] Ansible的簡單介紹與常用模塊詳解

    自動化運維工具,也叫 機器管理工具 。 可以實現(xiàn) 批量管理多臺(成百上千)主機 ,是應用級別的 跨主機編排工具 。 無客戶端agent存在,不需要在被控制的節(jié)點上安裝額外的客戶端應用 通過 ssh協(xié)議 與被控制節(jié)點通信 基于模塊工作的,可以通過模塊實現(xiàn)在被控制節(jié)點上執(zhí)

    2024年02月05日
    瀏覽(50)
  • Github Copilot 的補強工具Github Copilot Labs的常用功能介紹

    Github Copilot 的補強工具Github Copilot Labs的常用功能介紹

    一、什么是Github Copilot Labs Github Copilot Labs是由 GitHub 推出的一款基于人工智能技術(shù)的代碼協(xié)作工具,旨在協(xié)助開發(fā)者更加快速、高效地編寫代碼。該工具使用了機器學習技術(shù),通過學習大量的開源代碼和編寫實踐,提供了對于代碼變量、函數(shù)、類的自動補全和提示,甚至可以

    2024年02月12日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包