简介
ConverUtil 可以对各种数据类型进进行转换.
非字符串转时间
import cn.sybn.util.conver.ConverUtil;
ConverUtil.toDate(null); // 返回 null
ConverUtil.toDate(new Date()); // 原样返回
ConverUtil.toDate(1610504568724L);
ConverUtil.toDate(20210113102248L);
字符串转时间
ConverUtil.toDate() 中, 实现字符串转时间的底层工具类是 DateExtUtil.
ConverUtil.toDate(String) 等效于 DateExtUtil.stringToDate(String).
- 支持相对时间
import cn.sybn.util.base.time.DateExtUtil;
DateExtUtil.stringToDate("昨天");
DateExtUtil.stringToDate("今天");
DateExtUtil.stringToDate("明天");
DateExtUtil.stringToDate("yesterday");
DateExtUtil.stringToDate("today");
DateExtUtil.stringToDate("tomorrow");
DateExtUtil.stringToDate("500秒后");
DateExtUtil.stringToDate("3分钟前");
DateExtUtil.stringToDate("一天前");
DateExtUtil.stringToDate("一周后");
DateExtUtil.stringToDate("1个月前");
DateExtUtil.stringToDate("一年月前");
DateExtUtil.stringToDate("上个月初"); // v0.3.25
DateExtUtil.stringToDate("上个月月初"); // v0.3.25
DateExtUtil.stringToDate("1个月前月初"); // v0.3.25
DateExtUtil.stringToDate("昨日的' 05:59:59'"); // v0.3.26
DateExtUtil.stringToDate("上个月初的3天后的日末"); // v0.3.26
DateExtUtil.stringToDate("上个月的8号的四点十六分15秒"); // v0.3.26
- 支持绝对时间
/* 纯数字 */
@NonNull
public static final String NEW_DATE = "newDate";
@NonNull
public static final String NEW_DATE_SEC = "newDateSec";
@NonNull
public static final String YYYYMMDDHHMMSSZ = "yyyyMMddHHmmssZ";
@NonNull
public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
@NonNull
public static final String YYMMDDHHMMSS = "yyMMddHHmmss";
@NonNull
public static final String YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS";
@NonNull
public static final String YYMMDDHHMMSSSSS = "yyMMddHHmmssSSS";
@NonNull
public static final String YYYYMMDD = "yyyyMMdd";
@NonNull
public static final String YYMMDD = "yyMMdd";
/* 特殊 */
@NonNull
public static final String EEE_MMM_DD_HH_MM_SS_ZZZ_YYYY = "EEE MMM dd hh:mm:ss zzz yyyy";
@NonNull
public static final String YYYY_MM_DD_G_AT_HH_MM_SS_Z = "yyyy.MM.dd G 'at' hh:mm:ss z";
@NonNull
public static final String YYYY_MM_DD_KK_MM_SS_A = "yyyy-MM-dd KK:mm:ss a";
@NonNull
public static final String YYYY1MM1DD_KK_MM_SS_A = "yyyy/MM/d KK:mm:ss a";
/* 中文 */
@NonNull
public static final String YYYY_M_D_HH_MM_SS_CN = "yyyy年M月d日 HH:mm:ss";
@NonNull
public static final String YYYY_M_DHH_MM_SS_CN = "yyyy年M月d日HH:mm:ss";
@NonNull
public static final String YYYY_M_D_HH_MM_CN = "yyyy年M月d日 HH:mm";
@NonNull
public static final String YYYY_M_DHH_MM_CN = "yyyy年M月d日HH:mm";
@NonNull
public static final String YYYY_M_D_CN = "yyyy年M月d日";
@NonNull
public static final String YY_M_D_HH_MM_SS_CN = "yy年M月d日 HH:mm:ss";
@NonNull
public static final String YY_M_DHH_MM_SS_CN = "yy年M月d日HH:mm:ss";
/* 纯日期 */
@NonNull
public static final String YYYY_MM_DD = "yyyy-MM-dd";
@NonNull
public static final String YYYY1MM1DD = "yyyy/MM/dd";
@NonNull
public static final String YYYY_M_D = "yyyy-M-d";
@NonNull
public static final String YYYY1M1D = "yyyy/M/d";
@NonNull
public static final String YYYY_MM1DD = "yyyy-MM/dd";
@NonNull
public static final String YYYY1MM_DD = "yyyy/MM-dd";
@NonNull
public static final String YY_MM_DD = "yy-MM-dd";
@NonNull
public static final String YY1MM1DD = "yy/MM/dd";
@NonNull
public static final String YY_M_D = "yy-M-d";
@NonNull
public static final String YY1M1D = "yy/M/d";
/* 带毫秒 */
@NonNull
public static final String YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd HH:mm:ss.SSS";
@NonNull
public static final String YYYY1MM1DD_HH_MM_SS_SSS = "yyyy/MM/dd HH:mm:ss.SSS";
@NonNull
public static final String YYYY_M_D_HH_MM_SS_SSS = "yyyy-M-d HH:mm:ss.SSS";
@NonNull
public static final String YYYY1M1D_HH_MM_SS_SSS = "yyyy/M/d HH:mm:ss.SSS";
@NonNull
public static final String YY_MM_DD_HH_MM_SS_SSS = "yy-MM-dd HH:mm:ss.SSS";
@NonNull
public static final String YY1MM1DD_HH_MM_SS_SSS = "yy/MM/dd HH:mm:ss.SSS";
@NonNull
public static final String YY_M_D_HH_MM_SS_SSS = "yy-M-d HH:mm:ss.SSS";
@NonNull
public static final String YY1M1D_HH_MM_SS_SSS = "yy/M/d HH:mm:ss.SSS";
/* 年月日 时分秒 */
@NonNull
public static final String YYYY1MM1DD_HH_MM_SS = "yyyy/MM/dd HH:mm:ss";
@NonNull
public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
@NonNull
public static final String YYYY1M1D_HH_MM_SS = "yyyy/M/d HH:mm:ss";
@NonNull
public static final String YYYY_M_D_HH_MM_SS = "yyyy-M-d HH:mm:ss";
@NonNull
public static final String YY1MM1DD_HH_MM_SS = "yy/MM/dd HH:mm:ss";
@NonNull
public static final String YY_MM_DD_HH_MM_SS = "yy-MM-dd HH:mm:ss";
@NonNull
public static final String YY1M1D_HH_MM_SS = "yy/M/d HH:mm:ss";
@NonNull
public static final String YY_M_D_HH_MM_SS = "yy-M-d HH:mm:ss";
/* 年月日 时分 */
@NonNull
public static final String YYYY1MM1DD_HH_MM = "yyyy/MM/dd HH:mm";
@NonNull
public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
@NonNull
public static final String YYYY1M1D_HH_MM = "yyyy/M/d HH:mm";
@NonNull
public static final String YYYY_M_D_HH_MM = "yyyy-M-d HH:mm";
@NonNull
public static final String YY1MM1DD_HH_MM = "yy/MM/dd HH:mm";
@NonNull
public static final String YY_MM_DD_HH_MM = "yy-MM-dd HH:mm";
@NonNull
public static final String YY1M1D_HH_MM = "yy/M/d HH:mm";
@NonNull
public static final String YY_M_D_HH_MM = "yy-M-d HH:mm";
/* solr / elastic 的时间格式 */
@NonNull
public static final String ISO_8601_TIME = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
@NonNull
public static final String ISO_8601_TIME_2 = "yyyy-MM-dd'T'HH:mm:ss";
@NonNull
public static final String YYYY_MM_DDTHH_MM_SS_SSS = "yyyy-MM-dd'T'HH:mm:ss.SSS";
- 反序列化
反序列化时兼容 sql 与 java 格式: sql: %Y-%m-%dT%H:%i:%s java: yyyy-MM-dd'T'HH:mm:ss相关页面