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