DateFormat Util,사용 하기 좋 은 날짜 포맷 도구 클래스

이것 은 날짜 포맷 과 해석 도구 클래스 입 니 다.사용 하기 편 해 요...수요 에 따라 수정 하고 상수 증가,비 공 검사 추가 등 이 가능 합 니 다.주요 기능:포맷,해석,변환.
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);
    }
}

좋은 웹페이지 즐겨찾기