在编程中大家会遇到时间格式的处理,我总结了一些方法。
一:对于格林威治时间的解析成字符串的时间
import java.util.*;
import java.text.*;
public class TimeTest
{
public static void main(String args[]) throws Exception
{
String str = "Sun Jan 29 14:34:06 格林尼治标准时间+0800 2012";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss 格林尼治标准时间+0800 yyyy",Locale.ENGLISH);
Date d = sdf.parse(str);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf2.format(d));
}
}
二:对于字符串拼接的时间处理成date类型保存到数据库,这种保存后的数据为Mon Feb 18 04:24:00 CST 1946这种格式,读取这个格式时间还需要转换,方法为下面第三:
public Date StringToDate1(String dateStr){
DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date=null;
try {
date = sdf.parse(dateStr);
} catch (ParseException e)
{
e.printStackTrace();
}
System.out.println("--"+date);
return date;
}
三:对于Mon Feb 18 04:24:00 CST 1946这种时间格式转化为字符串类型方法如下:
public class fyg {
public static void main(String[] args) {
String str = "Wed Dec 03 12:20:00 CST 2014";//Mon Feb 18 04:24:00 格林尼治标准时间+0800 1946
Date date = parse(str, "EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
System.out.printf("%tF %<tT%n", date);
}
public static Date parse(String str, String pattern, Locale locale) {
if(str == null || pattern == null) {
return null;
}
try {
return new SimpleDateFormat(pattern, locale).parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static String format(Date date, String pattern, Locale locale) {
if(date == null || pattern == null) {
return null;
}
return new SimpleDateFormat(pattern, locale).format(date);
}
}
希望对大家有所帮助!