我们用SimpleDateFormat一般解析的是yyyy-MM-dd HH:mm:ss类型的字符串或者是Date,但遇到Mon Jan 24 00:00:00 CST 2016格式的字符串就不好解析了。下面进行简单的转换方式描述:
public static void main(String[] args) {
String str = "Mon Jan 24 12:03:00 CST 2016";
Date date = parse(str, "EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
// System.out.printf("%tF %
String end_time = format(date, "yyyy-MM-dd HH:mm:ss", Locale.CHINA);
System.out.println(end_time);
}
//解析指定格式的字符串,返回Date
public static Date parse(String str, String pattern, Locale locale) {
if (str == null || pattern == null) {
return null;
}
try {
return (Date) new SimpleDateFormat(pattern, locale).parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
//格式化指定类型的date,返回String
public static String format(Date date, String pattern, Locale locale) {
if (date == null || pattern == null) {
return null;
}
return new SimpleDateFormat(pattern, locale).format(date);
}
-----最后输出结果----:2016-01-24 12:03:00