📄 dateutils.java
字号:
package com.javayjm.excel.util;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 公 司:
* 文件名:DateUtils.java
* 作 者:YJM
* 版本号:1.0
* 时 间:2007-11-3下午04:53:42
*/
public class DateUtils {
private static String defaultPattern = "yyyy-MM-dd";
/**
* 根据pattern判断字符串是否为合法日期
*
* @param dateStr
* @param pattern
* @return
*/
public static boolean isValidDate(String dateStr, String pattern) {
boolean isValid = false;
String patterns = "yyyy-MM-dd,MM/dd/yyyy";
if (pattern == null || pattern.length() < 1) {
pattern = "yyyy-MM-dd";
}
try {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
//sdf.setLenient(false);
String date = sdf.format(sdf.parse(dateStr));
if (date.equalsIgnoreCase(dateStr)) {
isValid = true;
}
} catch (Exception e) {
isValid = false;
}
//如果目标格式不正确,判断是否是其它格式的日期
if(!isValid){
isValid = isValidDatePatterns(dateStr,"");
}
return isValid;
}
public static boolean isValidDatePatterns(String dateStr,String patterns){
if(patterns==null||patterns.length()<1){
patterns = "yyyy-MM-dd;dd/MM/yyyy;yyyy/MM/dd;yyyy/M/d h:mm";
}
boolean isValid = false;
String[] patternArr = patterns.split(";");
for(int i=0;i<patternArr.length;i++){
try {
SimpleDateFormat sdf = new SimpleDateFormat(patternArr[i]);
//sdf.setLenient(false);
String date = sdf.format(sdf.parse(dateStr));
if (date.equalsIgnoreCase(dateStr)) {
isValid = true;
DateUtils.defaultPattern = patternArr[i];
break;
}
} catch (Exception e) {
isValid = false;
}
}
return isValid;
}
public static String getFormatDate(String dateStr, String pattern){
if (pattern == null || pattern.length() < 1) {
pattern = "yyyy-MM-dd";
}
try {
SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.defaultPattern);
SimpleDateFormat format = new SimpleDateFormat(pattern);
String date = format.format(sdf.parse(dateStr));
return date;
} catch (Exception e) {
System.out.println("日期格转换失败!");
}
return null;
}
public static String getFormatDate(Date date,String pattern){
if (pattern == null || pattern.length() < 1) {
pattern = "yyyy-MM-dd";
}
try{
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
String strDate = sdf.format(date);
return strDate;
}catch (Exception e) {
System.out.println("日期格转换失败!");
}
return null;
}
public static void main(String[] args) {
// boolean isd = DateUtils.isValidDate("08/09/2007", "yyyy-MM-dd");
// if(isd){
// String date = DateUtils.getFormatDate("08/09/2007", "yyyy-MM-dd");
// System.out.println(date);
// }
//System.out.println(date);
DateFormat df = DateFormat.getDateInstance();
try {
Date myDate = df.parse("2007-7-9");
System.out.println(myDate.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -