public static void main(String[] args) {
System.out.println(toDateTime("2014-04-9 21:04:09"));
System.out.println(formatDateTime(new Date(), "yyyy/MM/dd HH:mm:ss"));
System.out.println(getCurDateTime("yyyy/MM/dd HH:mm:ss"));
}
/**
* 将字符串转化为日期格式
* @param strDate 提前格式的字符串
* @return 日期
*/
public static java.util.Date toDateTime(String strDate){
java.util.Date returnDate = null;
if(strDate==null) return returnDate;
try{
String strFormat = "yyyy-MM-dd";
if(strDate.indexOf(":")>0) strFormat ="yyyy-MM-dd HH:mm"; //HH:mm 是24小时制 hh:mm 是12小时制
if(strDate.indexOf(":")>0 && strDate.lastIndexOf(":")>strDate.indexOf(":")) strFormat="yyyy-MM-dd HH:mm:ss";
java.text.SimpleDateFormat sdf = new SimpleDateFormat(strFormat);
returnDate = sdf.parse(strDate); //转化格式
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return returnDate;
}
/**
* 将日期转化为字符串
* @param date 日期
* @param dateFormat 转化的日子格式字符串
* @return
*/
public static String formatDateTime(java.util.Date date,String dateFormat){
String returnDateStr = "";
if(date==null) return returnDateStr;
if(dateFormat==null || dateFormat.equals("")) dateFormat ="yyyy-MM-dd"; //传入格式为空,则给默认格式
java.text.SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
returnDateStr = sdf.format(date);
return returnDateStr;
}
/**
* 返回当前时间的字符串
* @param dateFormat 格式字符串
* @return
*/
public static String getCurDateTime(String dateFormat){
String reuturnDateStr = "";
if(dateFormat==null || "".equals(dateFormat)) dateFormat="yyyy-MM-dd";
java.text.SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
java.util.Calendar curDateTime = java.util.Calendar.getInstance();
reuturnDateStr = sdf.format(curDateTime.getTime());
return reuturnDateStr;
}
对于日期的操作,在js页面中经常判断用户输入的字符串是否符合日期格式,下面是用正则表达式判断字符串是否为日期格式
function chkDate(str){ //2012-03-04
var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/;
var r = str.match(reg);
if(r==null) return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getFullYear()!=r[1] || d.getFullYear()>2049) return false;
if(d.getMonth()!=r[2]) return false;
if(d.getDate()!=r[3]) return false;
return true;
}
function chkDateTime(str){
var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/; //2012-03-04 12:30
//var reg = /^(\d+)\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2})$/; //2012/03/04 12:30
var r = str.match(reg);
if(r==null) return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2], r[3], r[4], r[5]);
if(d.getFullYear()!=r[1]) return false;
if(d.getMonth()!=r[2]) return false;
if(d.getDate()!=r[3]) return false;
if(d.getHours()!=r[4]) return false;
if(d.getMinutes()!=r[5]) return false;
return true;
}