天天看点

优秀的日期类工具, 处理各种格式的日期

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;
	}
	
}
           

继续阅读