天天看点

格林威治时间转换成字符串

字符串转相应格式的日期再转成特定格式字符串

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[]);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss",Locale.ENGLISH);
        //再将日期以特定的格式化输出
        return new Text(sdf2.format(date)) ;
    }