类 DateFormatFieldConvertor

java.lang.Object
cn.zhxu.bs.convertor.DateFormatFieldConvertor
所有已实现的接口:
FieldConvertor, FieldConvertor.MFieldConvertor

public class DateFormatFieldConvertor extends Object implements FieldConvertor.MFieldConvertor
日期/时间格式化字段转换器 该转换器可将数据库取出的 Date 对象字段 转换为 格式化的日期字符串 与 DefaultMapSearcher 配合使用 v3.0.0 支持 Date 及其子类的 日期格式化 v3.0.1 支持 Temporal 及其子类的 日期格式化
从以下版本开始:
v3.0.0(v3.8.0 之前在 com.ejlchina.searcher.implement 包下)
作者:
Troy.Zhou @ 2021-11-03
  • 字段详细资料

    • DATE_PATTERN

      public static final Pattern DATE_PATTERN
    • TIME_PATTERN

      public static final Pattern TIME_PATTERN
  • 构造器详细资料

    • DateFormatFieldConvertor

      public DateFormatFieldConvertor()
  • 方法详细资料

    • setFormat

      public void setFormat(String scope, String format)
      添加一个日期/时间格式,例如(优先级以此递减):
       setFormat("demo.User.dateCreated", "yyyy-MM-dd");
        指定 demo.User 的 dateCreated 字段的格式
       setFormat("demo.User:LocalTime", "HH:mm:ss");
        指定 demo.User 类的 LocalTime 类型的字段的格式
       setFormat("demo.User", "yyyy-MM-dd HH");
        指定 demo.User 类的其它字段的格式
       setFormat("demo:LocalDate", "yyyy-MM-dd");
        指定 demo 包下的 LocalDate 类型的字段的格式
       setFormat("demo", "yyyy-MM-dd HH:mm:ss:SSS");
        指定 demo 包下的其它日期字段的格式
       
      参数:
      scope - 生效范围,可以是 全类名.字段名、全类名:字段类型名、包名:字段类型名 或 包名,范围越小,使用优先级越高
      format - 日期格式,如:yyyy-MM-dd,传入 null / '' 时表示该 scope 下的日期字段不进行格式化
      从以下版本开始:
      v3.0.1
    • supports

      public boolean supports(FieldMeta meta, Class<?> valueType)
      指定者:
      supports 在接口中 FieldConvertor
      参数:
      meta - 需要转换的字段元信息(非空)
      valueType - 数据库值的类型(非空)
      返回:
      是否支持
    • convert

      public Object convert(FieldMeta meta, Object value)
      从接口复制的说明: FieldConvertor
      把 value 转换为 targetType 类型的数据 v3.2.0 后移除冗余参数 targetType,该参数可通过 meta.getType() 获取
      指定者:
      convert 在接口中 FieldConvertor
      参数:
      meta - 需要转换的字段元信息(非空)
      value - 从数据库取出的待转换的值(非空)
      返回:
      转换目标值
    • getZoneId

      public ZoneId getZoneId()
    • setZoneId

      public void setZoneId(ZoneId zoneId)