hive函数-日期函数汇总

1.unix时间戳转日期函数

语法:from_unixtime(bigint unixtime[, string format])

说明:转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式,返回值类型string

举例:

select from_unixtime(1645452469984,'yyyyMMdd');

select from_unixtime(1645452469,'yyyy-MM-dd');

2.获取当前时间戳函数

语法:unix_timestamp()

说明:获得当前时区的UNIX时间戳,返回值类型bigint

举例:

select unix_timestamp();

 3.日期时间转unix时间戳函数

语法:unix_timestamp(string date)

说明:将格式为“yyyy-MM-dd HH:mm:ss“的日期转换成UNIX时间戳。如果转化失败,则返回0。返回值bigint

举例:

select unix_timestamp('2022-2-08 13:01:03');

4.指定日期格式转时间戳函数

语法:unix_timestamp(string date, string pattern)

说明:转换pattern格式的日期到UNIX时间戳。如果转化失败,则返回0。返回值bigint

举例:

select unix_timestamp('20220107 13:01:03','yyyyMMdd HH:mm:ss');

5.日期时间转日期函数

语法:to_date(string timestamp)

说明:返回日期时间字段中的日期部分。返回值string

举例:

select to_date('2021-12-08 10:03:01') ;

6.日期时间转年函数

语法:year(string date)

说明:返回日期时间字段中年的部分。返回值int

举例:

select year('2021-12-08 10:03:01');

7.日期时间转月函数

语法:month(string date)

说明:返回日期时间字段中月的部分。返回值int

举例:

select month('2021-12-08 10:03:01');

8.日期时间转天函数

语法:day(string date)

说明:返回日期时间字段中天的部分。返回值int

举例:

select day('2021-12-08 10:03:01');

9.日期时间转小时函数

语法:hour(string date)

说明:返回日期时间字段中小时的部分。返回值int

举例:

select hour('2021-12-08 10:03:01');

10.日期时间转分钟函数

语法:minute(string date)

说明:返回日期时间字段中分钟的部分。返回值int

举例:

select minute('2021-12-08 10:03:01');

11.日期时间转秒函数

语法:second(string date)

说明:返回日期时间字段中秒的部分。返回值int

举例:

select second('2021-12-08 10:03:01');

12.日期时间转周函数

语法:weekofyear (string date)

说明:返回日期在当前的周数。返回值int

举例:

select weekofyear('2021-12-08 10:03:01')

 

13.日期比较函数

语法:datediff(string enddate, string startdate)

说明:返回结束日期减去开始日期的天数。返回值int

举例:

select datediff('2021-12-08','2021-05-09');

14.日期增加函数

语法:date_add(string startdate, int days)

说明:返回开始日期startdate增加days天后的日期。返回值string

举例:

select date_add('2021-12-08',10);

15.日期减少函数

语法:date_sub (string startdate, int days)

说明:返回开始日期startdate减少days天后的日期。返回值string

举例:

select date_add('2021-12-08',10);

16.返回当月最后一天的日期

语法:last_day(string date)

说明:返回值string

举例:

select  last_day('2022-02-17 08:34:23');

17.返回当前时间的下一个星期X所对应日期的函数

语法:next_day()

说明:返回值string

举例:

select next_day('2021-01-14', 'TU') ;

18.返回当前时间所属季度的函数

语法:quarter(date/timestamp/string)

说明:返回值int

举例:

select quarter('2021-04-08');

19.返回当前时间日期的函数

语法:current_date

说明:返回值date

举例:

select current_date;

20.返回当前的时间戳的函数

语法:current_timestamp

说明:返回值timestamp

举例:

select current_timestamp;

21.返回当前时间下再增加num_months个月日期的函数

语法:add_months(string start_date, int num_months)

说明:返回值string

举例:

select add_months('2021-02-10', 2);

 

22.如果给定的时间戳并非UTC,则将其转化成指定时区下的时间戳

语法:from_utc_timestamp(timestamp, string timezone)

说明:返回值timestamp

举例:

select from_utc_timestamp('1970-01-01 08:00:00','PST');

23.如果给定的时间戳是指定时区下的时间戳,则将其转化成UTC下的时间戳

语法:to_utc_timestamp(timestamp, string timezone)

说明:返回值timestamp

举例:

select to_utc_timestamp('1970-01-01 00:00:00','PST');

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醪糟小丸子

小小帮助,不足挂齿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值