日期功能 Hive支持以下内置日期功能: 返回类型 姓名(签名) 描述 string from_unixtime(bigint unixtime[, string format]) 将unix纪元(1970-01-01 00:00:00 UTC)的秒数转换为一个字符串,该字符串表示当前系统时区中该时刻的时间戳,格式为“ 1970-01-01 00:00: 00”。 bigint unix_timestamp() 以秒为单位获取当前的Unix时间戳。此函数不是确定性的,其值在查询执行范围内也不是固定的,因此会阻止对查询的适当优化-自2.0版以来已弃用此函数,而推荐使用CURRENT_TIMESTAMP常量。 bigint unix_timestamp(string date) yyyy-MM-dd HH:mm:ss使用默认时区和默认语言环境将时间字符串格式转换为Unix时间戳(以秒为单位),如果失败,则返回0:unix_timestamp('2009-03-20 11:30:01')= 1237573801 bigint unix_timestamp(string date, string pattern) 将具有给定模式的时间字符串(请参阅[ http://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html])转换为Unix时间戳(以秒为单位),如果失败,则返回0:unix_timestamp('2009 -03-20','yyyy-MM-dd')= 1237532400。 pre 2.1.0: string 2.1.0 on: date to_date(string timestamp) 返回时间戳字符串(Hive 2.1.0之前)的日期部分:to_date(“ 1970-01-01 00:00:00”)=“ 1970-01-01”。从Hive 2.1.0开始,返回日期对象。 在Hive 2.1.0(HIVE-13248)之前,返回类型为String,因为创建方法时不存在Date类型。 int year(string date) 返回日期或时间戳字符串的年份部分:year(“ 1970-01-01 00:00:00”)= 1970,year(“ 1970-01-01”)= 1970。 int quarter(date/timestamp/string) 返回日期,时间戳或范围在1到4之间的字符串的一年的四分之一