Class FastDatePrinter

java.lang.Object
org.aoju.bus.core.date.formatter.AbstractMotd
org.aoju.bus.core.date.formatter.FastDatePrinter
All Implemented Interfaces:
Serializable, DateMotd, DatePrinter

public class FastDatePrinter extends AbstractMotd implements DatePrinter
SimpleDateFormat 的线程安全版本,用于将 Date 格式化输出
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • FastDatePrinter

      public FastDatePrinter(String pattern, TimeZone timeZone, Locale locale)
      构造,内部使用
      Parameters:
      pattern - 使用SimpleDateFormat 相同的日期格式
      timeZone - 非空时区TimeZone
      locale - 非空Locale 日期地理位置
  • Method Details

    • parsePattern

      protected List<org.aoju.bus.core.date.formatter.FastDatePrinter.Rule> parsePattern()
      返回给定模式的规则列表
      Returns:
      规则对象的List
      Throws:
      IllegalArgumentException - 如果模式无效
    • parseToken

      protected String parseToken(String pattern, int[] indexRef)
      执行令牌解析
      Parameters:
      pattern - 该模式
      indexRef - 索引的引用
      Returns:
      解析令牌
    • selectNumberRule

      protected org.aoju.bus.core.date.formatter.FastDatePrinter.NumberRule selectNumberRule(int field, int padding)
      获取所需填充的适当规则
      Parameters:
      field - 得到一个字段的规则
      padding - 所需的填充
      Returns:
      一个正确填充的新规则
    • format

      public String format(long millis)
      Description copied from interface: DatePrinter
      格式化日期表示的毫秒数
      Specified by:
      format in interface DatePrinter
      Parameters:
      millis - 日期毫秒数
      Returns:
      格式化的字符串
    • format

      public String format(Date date)
      Description copied from interface: DatePrinter
      使用 GregorianCalendar 格式化 Date
      Specified by:
      format in interface DatePrinter
      Parameters:
      date - 日期 Date
      Returns:
      格式化后的字符串
    • format

      public String format(Calendar calendar)
      Description copied from interface: DatePrinter
      格式化 Calendar 对象
      Specified by:
      format in interface DatePrinter
      Parameters:
      calendar - Calendar
      Returns:
      格式化后的字符串
    • format

      public <B extends Appendable> B format(long millis, B buf)
      Description copied from interface: DatePrinter
      将毫秒long值格式化为提供的Appendable
      Specified by:
      format in interface DatePrinter
      Type Parameters:
      B - 附加类类型,通常是StringBuilder或StringBuffer
      Parameters:
      millis - 要格式化的毫秒值
      buf - 要格式化为的缓冲区
      Returns:
      指定的字符串缓冲区
    • format

      public <B extends Appendable> B format(Date date, B buf)
      Description copied from interface: DatePrinter
      使用GregorianCalendarDate对象格式化为提供的Appendable
      Specified by:
      format in interface DatePrinter
      Type Parameters:
      B - 附加类类型,通常是StringBuilder或StringBuffer
      Parameters:
      date - 格式的日期
      buf - 要格式化为的缓冲区
      Returns:
      指定的字符串缓冲区
    • format

      public <B extends Appendable> B format(Calendar calendar, B buf)
      Description copied from interface: DatePrinter
      Calendar对象格式化为提供的Appendable 日历上设置的时区仅用于调整时间偏移。解析器构造期间指定的时区将确定格式化字符串中使用的时区
      Specified by:
      format in interface DatePrinter
      Type Parameters:
      B - 附加类类型,通常是StringBuilder或StringBuffer
      Parameters:
      calendar - 要格式化的日历
      buf - 要格式化为的缓冲区
      Returns:
      指定的字符串缓冲区
    • getMaxLengthEstimate

      public int getMaxLengthEstimate()
      估算生成的日期字符串长度 实际生成的字符串长度小于或等于此值
      Returns:
      日期字符串长度
    • getDateTimeFormatter

      public DateTimeFormatter getDateTimeFormatter()
      便捷获取 DateTimeFormatter 由于 FormatBuilder 很大一部分的格式没有提供 DateTimeFormatter,因此这里提供快捷获取方式
      Returns:
      DateTimeFormatter