1. 程式人生 > >16 友盟專案--日期工具類、UTF自定義日期函式

16 友盟專案--日期工具類、UTF自定義日期函式

日期工具類、UTF自定義日期函式

      日期函式工具類 DateUtil 以date為參照,查詢指定按照day、Month、week進行偏移日期時間格式
    /**
     * 以date為參照,查詢指定按照day進行偏移日期時間格式
     */
    public static String formatDay(Date date , int offset , String fmt){
        Calendar cal 
= Calendar.getInstance(); cal.setTime(date) ; //在day的成分上進行累加累減 cal.add(Calendar.DAY_OF_MONTH , offset); SimpleDateFormat sdf = new SimpleDateFormat(fmt) ; return sdf.format(cal.getTime()) ; } /** * 以date為參照,查詢指定按照day進行偏移日期時間格式 */ public static
String formatDay(long ts , int offset , String fmt){ return formatDay(new Date(ts) , offset,fmt) ; } /** * 以date為參照,查詢指定按照week進行偏移日期時間格式 */ public static String formatWeek(Date date , int offset , String fmt){ Calendar cal = Calendar.getInstance(); cal.setTime(date) ;
//取出指定date位於當前周的第幾天 int n = cal.get(Calendar.DAY_OF_WEEK) ; //在day的成分上進行累加累減 cal.add(Calendar.DAY_OF_MONTH , -(n - 1)); cal.add(Calendar.DAY_OF_MONTH , offset * 7); SimpleDateFormat sdf = new SimpleDateFormat(fmt) ; return sdf.format(cal.getTime()) ; } public static String formatWeek(long ts, int offset , String fmt){ return formatWeek(new Date(ts) , offset , fmt) ; } /** * 以date為參照,查詢指定按照month進行偏移日期時間格式 */ public static String formatMonth(Date date , int offset , String fmt){ Calendar cal = Calendar.getInstance(); cal.setTime(date) ; cal.add(Calendar.MONTH , offset); SimpleDateFormat sdf = new SimpleDateFormat(fmt) ; return sdf.format(cal.getTime()) ; } public static String formatMonth(long ts, int offset , String fmt){ return formatMonth(new Date(ts) , offset , fmt); } }
DateUtil 日期工具類

自定義UTF日期工具類

按照day 進行偏移量計算

package com.oldboy.umeng.hive.udf;

import com.oldboy.umeng.hive.util.DateUtil;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;