UDF:时间加减
来源:互联网 发布:摄影美工 编辑:程序博客网 时间:2024/05/21 22:28
package com.adtime.udf.main;import java.sql.Date;import java.text.SimpleDateFormat;import org.apache.commons.lang.StringUtils;import org.apache.hadoop.hive.ql.exec.UDF;/*** @author leen* @date Mar 13, 2017 10:29:54 AM* @parameter input:2017-01-05 19:34:17 return:2017-01-05 20:34:17 的时间戳*/public class UdfReturnOneHourLater extends UDF { public String evaluate (String datetime,String add) throws Exception { //对于日期为null / "" / " " 返回null if (StringUtils.isBlank(datetime) || (datetime.length() != 19 && datetime.length() != 21)){ return null; } if(StringUtils.isBlank(add)){ //添加的时间小时长度的不能为空 return null; } if(datetime.length() == 21){ datetime = datetime.substring(0, 19); } //将字符串转化为时间戳 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Long date1 = df.parse(datetime).getTime(); //add转为Long类型 Double addDouble = Double.parseDouble(add); //将时间add加上去 long addDate = (long) (date1 + 1000*60*60*addDouble); //将时间戳转为时间格式:yyyy-MM-dd hh:mm:ss Date date2 = new Date(addDate); String returnDate = df.format(date2).toString(); //返回更新之后的时间戳的字符串 return returnDate; } public static void main(String[] args) throws Exception { UdfReturnOneHourLater uu = new UdfReturnOneHourLater(); System.out.println(uu.evaluate("2017-01-05 19:34:19.0", "-0.5"));//2017-01-05 19:04:19 System.out.println(uu.evaluate("2017-01-05 19:34:19", "0.5"));//2017-01-05 20:04:19 }}
0 0
- UDF:时间加减
- UDF:日期加减
- 时间加减
- 时间加减
- 时间加减
- 时间转换UDF函数
- mysql加减时间-函数-时间加减
- mysql加减时间-函数-时间加减
- mysql加减时间-函数-时间加减
- mysql加减时间-函数-时间加减
- Oracle 时间加减操作
- oracle的时间加减
- JavaScript 时间加减 改变
- oracle时间加减
- Oracle时间加减
- oracle 时间加减综合
- oracle 时间加减综合
- js 时间加减
- 简易服务器压力测试工具
- 最少拦截系统
- Inno Setup Compiler 将exe打包setup安装文件
- [链表 杂题] BZOJ 4432 [Cerc2015]Greenhouse Growth
- ATM 系统的面向对象分析与设计之一——问题陈述、词汇表、领域类图
- UDF:时间加减
- Android的别踩白块开发,使用SurfaceView(一)。
- 231. Power of Two
- TortoiseSVN检出项目不完整,缺少文件夹是什么原因?
- Visual Studio Code使用问题
- light oj 1191
- 关于买书
- 在Nginx中,怎么把http全转发为https
- 二叉树操作详解