hive中⽇期格式转换
hive中⽇期格式转换
⽇期时间格式⼤致分成时间戳和⽇期时间格式互转,字符串转化成⽇期时间格式,⽇期格式之间的转化⼀、时间戳和⽇期互转
1、unix_timestamp函数,⽇期转时间戳
当函数参数为空时,返回当前时间戳。
select unix_timestamp()---1571282494
不输⼊时间格式,默认’yyyy-MM-dd HH:mm:ss’格式
select unix_timestamp('2019-09-11 23:23:12')--1568215392
select unix_timestamp('2019-09-11')---返回null
正常情况下使⽤⾃定义格式,当输⼊类型和格式匹配返回正确值,否则返回null
select unix_timestamp('2019-09-11','yyyy-mm-dd')--1547136540
2、from_unixtime时间戳转⽇期
默认格式 ‘yyyy-MM-dd HH:mm:ss’,不能为空值,可以指定特定格式
select from_unixtime(1547136540)--2019-01-11 00:09:00
select from_unixtime(1547136540,'HH:mm:ss')--00:09:00
3、经常使⽤的⽤法:⽇期格式之间的互换
把20190911转化2019/09/11
select from_unixtime(unix_timestamp('20190911','yyyyMMdd'),'yyyy/MM/dd')
4、⽇期格式yyyy-MM-dd格式转化成其他格式
date_format主要针对yyyy-MM-dd的时间格式转化成其他格式的⽇期字符串。
select date_format('2019-09-11','yyyy/MM/dd')
⼆、其他时间函数,针对’yyyy-MM-dd HH:mm:ss’
unix时间戳转换日期格式1、to_date函数,返回⽇期时间中的⽇期部分
通常只能应⽤于’yyyy-MM-dd HH:mm:ss’格式的⽇期时间截取
select to_date('2019-09-11 12:10:21')--2019-09-11
2、year, month, day, hour, minute,second函数
select second('2019-09-11 12:10:21')---21
3、⽇期转周函数weekofyear
select weekofyear('2011-12-08 10:03:01')from dual;--49
三、时间函数运算
1、datediff ⽇期⽐较函数,默认格式’yyyy-MM-dd HH:mm:ss’
select datediff('2019-01-11','2019-08-11')--输出-212
2、时间增加函数 date_add
select date_add('2012-12-08',10)
3、时间减少函数 date_sub
select date_sub('2019-09-11',10)
4、获取两个时间的相差⽉份数
select floor(months_between('2018-07-01','2018-02-04'))from default.dual 四、获取当前时间
select current_date()--2019-10-17 获取⽇期格式
select unix_timestamp().--1571285121 获取时间戳
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论