天天看點

優秀的日期類工具, 處理各種格式的日期

package utils;

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

/**
 * @author 
 * @date 建立時間:2017年5月17日 下午8:41:40
 * @version 1.0
 * @company: 
 * @description: 這是一個日期工具類, 主要處理日期格式的
 * */
public class MyDateUtils {
	public static void main(String[] args) {
		//在這裡測試
	}
	
	/**
	 * 按格式将日期字元串 轉換成 日期類型
	 * @param dateStr 需要轉換成日期的字元串
	 * @param pattern 轉換的所遵循的格式
	 * @return 轉換後的日期
	 * @throws ParseException
	 */
	public static Date strToDateByPattern(String dateStr, String pattern) throws ParseException{
		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
		Date date = sdf.parse(dateStr);
		return date;
	}
	
	/**
	 * @param date 需要轉換成字元串的日期
	 * @param pattern 轉換所遵循的格式
	 * @return 轉換後的字元串
	 */
	public static String dateToStrByPattern(Date date, String pattern){
		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
		String dateStr = sdf.format(date);
		return dateStr;
	}
	
	/**
	 * 按照Java預設的方式将日期轉換成字元串格式 預設類型是 yyyyMMdd
	 * @param date 要轉換成字元串的日期
	 * @return 轉換後的字元串
	 */
	public static String dateToStrByDefult(Date date){
		return dateToStrByPattern(date, "yyyyMMdd");
	}
	
	/**
	 * @param dateStr 需要轉換成字元串的日期
	 * @return 轉換後的日期
	 * @throws ParseException
	 */
	public static Date strToDateByDefault(String dateStr) throws ParseException{
		return strToDateByPattern(dateStr, "yyyyMMdd");
	}
	
	/**
	 * 判斷一個字元串是否能夠按照 規定的格式 轉化成 日期類型
	 * @param dateStr 需要判斷的字元串
	 * @param pattern 判斷的格式 如:yyyy-MM-dd
	 * @return
	 */
	public static boolean isRightStr(String dateStr, String pattern){
		try {
			MyDateUtils.strToDateByPattern(dateStr, pattern);
		} catch (Exception e) {
			return false;
		}
		return true;
	}
	
	/**
	 * 将字元串日期從指定格式轉換成另一種格式
	 * @param dateStr 要轉換的日期
	 * @param fromPattern 原始的格式
	 * @param toPattern  目标格式
	 * @return
	 */
	public static String dateStrTOdateStr(String dateStr, String fromPattern, String toPattern){
		Date date = null;
		String result = null;
		try {
			date = strToDateByPattern(dateStr, fromPattern);
			result = dateToStrByPattern(date, toPattern);
		} catch (Exception e) {
			return null;
		}
		return result;
	}
	
}
           

繼續閱讀