读书人

字符串转换终日期时间格式

发布时间: 2012-08-22 09:50:35 作者: rapoo

字符串转换成日期时间格式

?

?

字符串转换成日期时间格式

?

一、简单版

字符串转换为java.util.Date

只能转换固定、已知格式(形如2012-03-29 09:59:59)的字符串成对应的日期

?

?

关键代码:

/** * 字符串不能转化成日期数据及其简单的容错处理 * */private static Date dateConvert(String dateString){SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = new Date();try{date = simpleDateFormat.parse(dateString);}catch (ParseException e){try{date = simpleDateFormat.parse(DateUtil.getNowDateTime());}catch (ParseException pe){pe.printStackTrace();}System.out.println("字符串数据不能转换成日期数据.");}return date;}
?

?

?

?

二、完美版

字符串转换为java.util.Date

支持格式为

yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'

yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'

yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'

yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'?

yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'?

?

?

关键代码:

/** * 字符串转换为java.util.Date<br> * 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'<br> * yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'<br> * yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'<br> * yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00' <br> * yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am' <br> *  * @param time *            String 字符串<br> * @return Date 日期<br> */public static Date stringToDate(String time){SimpleDateFormat formatter;int tempPos = time.indexOf("AD");time = time.trim();formatter = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");if (tempPos > -1){time = time.substring(0, tempPos) + "公元" + time.substring(tempPos + "AD".length());// chinaformatter = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");}tempPos = time.indexOf("-");if (tempPos > -1 && (time.indexOf(" ") < 0)){formatter = new SimpleDateFormat("yyyyMMddHHmmssZ");}else if ((time.indexOf("/") > -1) && (time.indexOf(" ") > -1)){formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");}else if ((time.indexOf("-") > -1) && (time.indexOf(" ") > -1)){formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");}else if ((time.indexOf("/") > -1) && (time.indexOf("am") > -1) || (time.indexOf("pm") > -1)){formatter = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss a");}else if ((time.indexOf("-") > -1) && (time.indexOf("am") > -1) || (time.indexOf("pm") > -1)){formatter = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss a");}ParsePosition pos = new ParsePosition(0);java.util.Date ctime = formatter.parse(time, pos);return ctime;}
?

?

读书人网 >编程

热点推荐