Skip to content

时间工具类

一、简介

  • 自用。
  • 封装常用的时间操作。
  • 封装在 component 模块中。

时间工具类

二、初始化时间

- 2.1 当前时间

  • 静态方法TimeUtils.now();,返回TimeUtils对象。

当前时间

- 2.2 指定时间设置

  • 静态方法TimeUtils.setTime(xxx);,设置时间。

说明

  • setTime是一个“多态”方法,支持多种格式设置时间。
  1. 时间戳 设置时间:setTime(long timestamp)
  2. Date 设置时间:setTime(Date date)
  3. LocalDateTime 设置时间:setTime(LocalDateTime localDateTime)
  4. 字符串(默认格式) 设置时间:setTime(String dateStr)
  5. 字符串(自定义格式) 设置时间:setTime(String dateStr, String formatStr)
  • 返回 TimeUtils 对象

指定时间设置

三、时间计算

- 3.1 加、减特定格式的时间

  • 方法TimeUtils.addXxx();,加、减时间。

说明

  • addXxx是多个方法,计算不同时间格式的时间计算。
  1. 年计算:addYear(int amount)
  2. 月计算:addMonth(int amount)
  3. 日计算:addDay(int amount)
  4. 时计算:addHour(int amount)
  5. 分计算:addMinute(int amount)
  6. 秒计算:addSecond(int amount)
  • 返回 TimeUtils 对象

加、减时间

- 3.2 加、减自定义格式的时间

  • 方法TimeUtils.add(int type, int amount);,加、减自定义格式的时间。

说明

  • add方法可以自定义要计算的时间格式。

加、减自定义格式的时间

  • 其中,参数type使用java.util.Calendar.java类的常量,具体如下:

Calendar类型常量

四、时间输出

- 4.1 输出Date类型时间

  • 方法TimeUtils.toDate();,输出Date类型时间。

输出Date类型时间

- 4.2 输出LocalDateTime类型时间

  • 方法TimeUtils.toLocalDateTime();,输出LocalDateTime类型时间。

输出LocalDateTime类型时间

- 4.3 输出Calendar

  • 方法TimeUtils.toCalendar();,输出Calendar类型时间。

输出Calendar类型时间

- 4.4 输出long类型时间戳

  • 方法TimeUtils.toTimestamp();,输出时间戳。

输出时间戳

- 4.5 输出java.sql.Timestamp类型时间戳

  • 方法TimeUtils.toSqlTimestamp();,输出java.sql.Timestamp类型时间戳。

输出java.sql.Timestamp类型时间戳

- 4.6 输出字符串类型时间

说明

  • 共提供 3 个方法,可输出字符串类型的时间字符串。
  1. 方法TimeUtils.toString();,默认格式[yyyy-MM-dd HH:mm:ss]输出。
  2. 方法TimeUtils.toString(String format);,自定义格式输出。
  3. 方法TimeUtils.toFormat(String format);,自定义格式输出。
  • 其中方法2和3,两个方法完全相同,只是方法名不同。

输出字符串类型时间

五、使用举例

说明

  • TimeUtils 工具类,支持连续“链式操作”,通过连点调用。
  • 例如:
  • 更多示例,如下所示:
java
public static void main(String[] args) {
    // 使用示例
    System.out.println(TimeUtils.now());// 操作当前时间
    System.out.println(TimeUtils.setTime(new Date()));// 操作设置时间
    // 操作示例
    System.out.println(TimeUtils.now().addDay(1).toLocalDateTime());
    System.out.println(TimeUtils.now().addDay(1).toTimestamp());
    System.out.println(TimeUtils.now().addDay(-5).toFormat("yyyy-MM-dd"));
    System.out.println(TimeUtils.now().addMinute(10).toFormat("yyyy-MM-dd HH:mm:ss"));
    System.out.println("---");
    System.out.println(TimeUtils.now());
}