DateFormatUtil,好用的日期格式化工具类

这是一个日期格式化和解析的工具类。使用很方便哦。。。
可以根据需求修改,增加常量,添加非空校验等。
主要功能:格式化、解析、转换。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Created by wangzhengyang on 2018/10/15.
 * Description: 该类是用来做日期格式化的
 * 用法:
 * 格式化
 * String dateText = DateFormatUtil.INSTANCE.format(date,  DateFormatUtil.yyyyMMddHHmmss_CN);
 * 解析
 * Date dateParse = DateFormatUtil.INSTANCE.parse(dateText,  DateFormatUtil.yyyyMMddHHmmss_CN);
 * 转换
 * DateFormatUtil.INSTANCE.transform(dateText, DateFormatUtil.yyyyMMddHHmmss, DateFormatUtil.yyyyMMddHHmm_H);
 */
public enum DateFormatUtil {
    
    

    INSTANCE;

    private final SimpleDateFormat mSdf;

    /*年月日时分秒*/

    public static final String yyyyMMddHHmmss = "yyyyMMddHHmmss";
    public static final String yyyyMMddHHmmss_H = "yyyy-MM-dd HH:mm:ss";
    public static final String yyyyMMddHHmmss_CN = "yyyy年MM月dd日 HH:mm:ss";

    public static final String yyyyMMddHHmm = "yyyyMMddHHmm";
    public static final String yyyyMMddHHmm_H = "yyyy-MM-dd HH:mm";
    public static final String yyyyMMddHHmm_CN = "yyyy年MM月dd日 HH:mm";

    /*年月日*/

    public static final String yyyyMMdd = "yyyyMMdd";
    public static final String yyyyMMdd_H = "yyyy-MM-dd";
    public static final String yyyyMMdd_CN = "yyyy年MM月dd日";

    /*年月日时分*/

    public static final String MMddHHmm = "yyyyMMddHHmm";
    public static final String MMddHHmm_H = "MM-dd HH:mm";
    public static final String MMddHHmm_CN = "MM月dd日 HH:mm";

    /*月日*/

    public static final String MMdd = "MMdd";
    public static final String MMdd_H = "MM-dd";
    public static final String MMdd_CN = "MM月dd日";

    public static final String yyyyMMddHHmmssSSS = "yyyyMMddHHmmssSSS";


    DateFormatUtil() {
    
    
        mSdf = new SimpleDateFormat();
    }

    public String format(Date date, String pattern){
    
    
        mSdf.applyPattern(pattern);
        return mSdf.format(date);
    }

    public String format(long timeMillis, String pattern){
    
    
        mSdf.applyPattern(pattern);
        return mSdf.format(new Date(timeMillis));
    }

    public String format(Calendar calendar, String pattern){
    
    
        mSdf.applyPattern(pattern);
        return mSdf.format(calendar.getTime());
    }


    public Date parse(String timeText, String pattern){
    
    
        Date parse = null;
        try {
    
    
            mSdf.applyPattern(pattern);
            parse = mSdf.parse(timeText);
        } catch (ParseException e) {
    
    
            e.printStackTrace();
        }
        return parse;
    }

    public long parseToMillis(String timeText, String pattern){
    
    
        return parse(timeText, pattern).getTime();
    }

    public Calendar parseToCalendar(String timeText, String pattern){
    
    
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(parse(timeText, pattern));
        return calendar;
    }
    
    public String transform(String date, String patternIn, String patternOut){
    
    
        return format(parse(date, patternIn), patternOut);
    }
}

猜你喜欢

转载自blog.csdn.net/wangxiaocheng16/article/details/83063102
今日推荐