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