测试版本:
hive 2.3.4 spark 3.1.1 hadoop 2.7.7
1、增加月份
- add_months(timestamp date, int months)
- add_months(timestamp date, bigint months)
- Return type: timestamp
- usage:add_months(now(),1)
2、增加日期
adddate(timestamp startdate, int days),adddate(timestamp startdate, bigint days)Return type: timestampusage:adddate(now(),1)
3、当前时间戳
- current_timestamp()和now()等价
4、日期相减
- datediff(string enddate, string startdate)
- Return type: int
- usage:datediff("2018-08-05", "2018-08-03")
5、得到天,得到月份
- day(string date)
- Return type: int
- usage: day("2018-08-05")
6、得到星期英文
dayname(string date)Return type: stringusage:dayname("2018-08-05") Sunday
7、得到这一天是这周的第几天
- dayofweek(string date) 1 (Sunday) to 7 (Saturday).
- Return type: int
- usage:dayofweek("2018-08-06")
8、加天数和减天数
1)days_add(timestamp startdate, int days)
- Return type: timestamp
- usage:days_add(now(),2)
2)、days_sub(timestamp startdate, int days)
- Return type: timestamp
- usage:days_sub(now(), 2)
9、格式化日期
- from_unixtime(bigint unixtime[, string format])
- Return type: string
注意参数
- usage:from_unixtime(1392394861,"yyyy-MM-dd");
10、得到小时
- hour(string date)
- Return type: int
- usage:hour("2018-08-06 12:32:54")
11、增加小时 和 减少小时
1)、hours_add(timestamp date, int hours)
Return type: timestampusage:hours_add(now(),2)
2)、hours_sub(timestamp date, int hours)
Return type: timestampusage:hours_sub(now(),2)
12、得到分钟
- minute(string date)
- Return type: int
- usage:minute(now())
13、增加分钟和减少分钟
1)、minutes_add(timestamp date, int minutes)
Return type: timestampusage:minutes_add(now(),2)
2)、minutes_sub(timestamp date, int minutes)
Return type: timestampusage:minutes_sub(now(),2)
14、得到月份
- month(string date)
- Return type: int
- usage:month("2018-08-06 12:32:54")
15、月份相加和减月份
1)、months_add(timestamp date, int months)
Return type: timestampusage:months_add(now(),3)
2)、months_sub(timestamp date, int months)
Return type: timestampmonths_sub(now(),3)
16、得到秒
- second(string date)
- Return type: int
17、秒加 和 秒减
1)、seconds_add(timestamp date, int seconds)
Return type: timestamp
2)、seconds_sub(timestamp date, int seconds)
Return type: timestamp
18、得到日期
- to_date(now())
19、得到1970到今秒
- unix_timestamp(),
- unix_timestamp(string datetime),
- unix_timestamp(string datetime, string format),
- unix_timestamp(timestamp datetime)
- Return type: bigint
20、得到这周是这年的多少周
- weekofyear(string date)
- Return type: int
- usage:weekofyear("2018-08-06 12:32:54")
21、周加 和 周减
1)、weeks_add(timestamp date, int weeks)
Return type: timestampusage:weeks_add("2018-08-06 12:32:54", 1)
2)、weeks_sub(timestamp date, int weeks)
Return type: timestampusage:weeks_sub("2018-08-06 12:32:54", 1)
22、得到年
- year(string date)
- Return type: int
23、年加 和 年减
1)、years_add(timestamp date, int years)
Return type: timestamp
2)、years_sub(timestamp date, int years)
Return type: timestamp
参考:hive 日期函数 - 文章教程 - 文江博客