日期类型为:Sun Mar 9 21:16:18 2014 星期几 月份 天
from_unixtime(unix_timestamp('Sun Mar 9 21:16:18 2014','EEE MMM dd HH:mm:Ss z yyyy'),'yyyy-MM-dd HH:mm:Ss')
EEE代表星期几
MMM代表月的英文名称
这样写还是有点问题,不能指定 Locale.US 得封装成udf函数。参考如下:
EEE代表星期几
MMM代表月的英文名称
这样写还是有点问题,不能指定 Locale.US 得封装成udf函数。参考如下:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class Test {
public static void main(String[] args) {
String str = "Mon Dec 31 00:00:00 CST 2012";
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);
}
}