您的位置:首页 > 其它

hive udf获取当前月最后一天

2015-12-03 15:07 281 查看
package com.hive.udf;

import org.apache.hadoop.hive.ql.exec.UDF;

import java.net.URLDecoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/*
*
*
*/
public class LastDay extends UDF {

public LastDay() {
}

public String evaluate(String thisdate) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
if (thisdate.length()==8)
format = new SimpleDateFormat("yyyyMMdd");
//获取当前月第一天:
Calendar c = Calendar.getInstance();
Date   thisb=null;
try {
thisb=format.parse(thisdate);

} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(thisb);
c.add(Calendar.MONTH, 0);
//       c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
//      String first = format.format(c.getTime());
//      System.out.println("===============first:"+first);

//获取当前月最后一天
//   Calendar ca = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = format.format(c.getTime());
return last;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: