日期转周 hive UDF

来源:互联网 发布:张峰 java精品课程 编辑:程序博客网 时间:2024/06/08 19:11

 public static String getWeek(String sdate) {  // 再转换为时间  Date date = VeDate.strToDate(sdate);  Calendar c = Calendar.getInstance();  c.setTime(date);  // int hour=c.get(Calendar.DAY_OF_WEEK);  // hour中存的就是星期几了,其范围 1~7  // 1=星期日 7=星期六,其他类推  return new SimpleDateFormat("EEEE").format(c.getTime()); } public static String getWeekStr(String sdate){  String str = "";  str = VeDate.getWeek(sdate);  if("1".equals(str)){   str = "星期日";  }else if("2".equals(str)){   str = "星期一";  }else if("3".equals(str)){   str = "星期二";  }else if("4".equals(str)){   str = "星期三";  }else if("5".equals(str)){   str = "星期四";  }else if("6".equals(str)){   str = "星期五";  }else if("7".equals(str)){   str = "星期六";  }  return str; }



package hive;



import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;


import java.text.*;
import java.util.Calendar;
import java.util.Date;


public class ToWeek extends UDF {


private Text result = new Text();

public Text evaluate(Text str){

if (str.getLength() > 10){
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  ParsePosition pos = new ParsePosition(0);
  Date strtodate = formatter.parse(str.toString(), pos);
  Calendar c = Calendar.getInstance();
  c.setTime(strtodate);
  
  String str1 = "";
  str1 = new SimpleDateFormat("EEEE").format(c.getTime());
  result.set(str1);
  
}
return result;
}
}
原创粉丝点击