sybn sybn-util 项目说明文档 - 基于java的跨数据库联合查询

ConverUtil - 数据类型转换器之时间转换

2018-03-28
sybn

简介

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
    

    相关页面


Similar Posts

Comments

暂不开放评论! 可微信联系