Class FormatPeriod

java.lang.Object
org.miaixz.bus.core.center.date.format.FormatPeriod
All Implemented Interfaces:
Serializable

public class FormatPeriod extends Object implements Serializable
时长格式化器,用于格式化输出两个日期相差的时长 根据FormatPeriod.Level不同,调用format()方法后返回类似于:
  • XX小时XX分XX秒
  • XX天XX小时
  • XX月XX天XX小时
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • FormatPeriod

      public FormatPeriod(long betweenMs, FormatPeriod.Level level, int levelMaxCount)
      构造
      Parameters:
      betweenMs - 日期间隔
      level - 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
      levelMaxCount - 格式化级别的最大个数,假如级别个数为1,但是级别到秒,那只显示一个级别
  • Method Details

    • of

      public static FormatPeriod of(long betweenMs, FormatPeriod.Level level)
      创建 FormatPeriod
      Parameters:
      betweenMs - 日期间隔
      level - 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
      Returns:
      FormatPeriod
    • of

      public static FormatPeriod of(long betweenMs, FormatPeriod.Level level, int levelMaxCount)
      创建 FormatPeriod
      Parameters:
      betweenMs - 日期间隔
      level - 级别,按照天、小时、分、秒、毫秒分为5个等级,根据传入等级,格式化到相应级别
      levelMaxCount - 格式化级别的最大个数,假如级别个数为1,但是级别到秒,那只显示一个级别
      Returns:
      FormatPeriod
    • format

      public String format()
      格式化日期间隔输出
      Returns:
      格式化后的字符串
    • getBetweenMs

      public long getBetweenMs()
      获得 时长毫秒数
      Returns:
      时长毫秒数
    • setBetweenMs

      public FormatPeriod setBetweenMs(long betweenMs)
      设置 时长毫秒数
      Parameters:
      betweenMs - 时长毫秒数
      Returns:
      this
    • getLevel

      public FormatPeriod.Level getLevel()
      获得 格式化级别
      Returns:
      格式化级别
    • setLevel

      public FormatPeriod setLevel(FormatPeriod.Level level)
      设置格式化级别
      Parameters:
      level - 格式化级别
      Returns:
      this
    • setSimpleMode

      public FormatPeriod setSimpleMode(boolean simpleMode)
      是否为简化模式,此标记用于自定义是否输出各个位数中间为0的部分 如为true,输出 1小时3秒,为false输出 1小时0分3秒
      Parameters:
      simpleMode - 是否简化模式
      Returns:
      this
    • toString

      public String toString()
      Overrides:
      toString in class Object