16 友盟專案--日期工具類、UTF自定義日期函式
阿新 • • 發佈:2018-11-05
日期工具類、UTF自定義日期函式
日期函式工具類 DateUtil 以date為參照,查詢指定按照day、Month、week進行偏移日期時間格式/** * 以date為參照,查詢指定按照day進行偏移日期時間格式 */ public static String formatDay(Date date , int offset , String fmt){ Calendar calDateUtil 日期工具類= 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 staticString 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); } }
自定義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;