一、基本概念
UNIX时间戳概念:因为UNIX时间戳只是一个秒数,一个UNIX时间戳在不同时区看来,时间是不同的。
如UNIX时间戳0,在0时区看来是1970-01-01 00:00:00,在东八区看来是1970-01-01 08:00:00。
二、hive常用时间操作示例
1、返回UNIX时间戳代表的(格林威治零时区)时间
默认格式如下。
select from_unixtime(1);
1970-01-01 00:00:01
select from_unixtime(1 ,'yyyyMMdd hh:mm:ss');
19700101 12:00:01
2、获取当前时间的UNIX时间戳(时区无关的)
返回值bigint(对应spark中Long)。
select unix_timestamp();
1579508709
3、获取日期部分
select to_date('2020-01-20 11:40:03');
2020-01-20
4、返回年、月、日、时、分、秒、周的函数
获取年份 select year('2020-01-20 11:40:03');
2020
select year('2020-01-20');
2020
获取月份数
select month('2020-01-20 11:40:03');
1
select mon