字符串转相应格式的日期再转成特定格式字符串
public Text evaluate(Text date1 )
{
//源数据格式 "31/Aug/2015:00:04:37 +0800"
// 目标格式 20150831000437
/*
思路:
1、将字符串转成一样格式的日期 也就是将字符串解析成相应格式的日期
2、再将日期以想要的格式以字符串的形式输出
**/
String strDate = date1.toString() ;
//将字符串本身的双引号去掉
strDate = strDate.replace("\"","");
//根据空格分割 因为我这里只根据将前面的字符串解析成日期
String[] items = strDate.split(" ");
//定义一个时间格式化对象 因为这个类实例在高并发时会发生线程不安全的情况 所以设置成局部变量
SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss");
Date date = null;
try {
//将特定格式的字符串解析成日期Date
date = sdf1.parse(items[0]);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss",Locale.ENGLISH);
//再将日期以特定的格式化输出
return new Text(sdf2.format(date)) ;
}