Hive中日期与时间戳的转换
来源:互联网 发布:天天源码 编辑:程序博客网 时间:2024/05/17 18:43
什么是时间戳?
时间戳是指**格林尼治时间**1970年01月01日00时00分00秒(北京时间1970年01月01日时00分00秒)起至现在的总秒数。
注意:不管你在地球上的任何地方,这一时刻的时间戳是相同的。但是!同一个时间戳在不同的时区会表示不同的时间。比如在集群上通过hive函数转换的是北京时间,但是在本地python转换就成了美国的时间。可能是根据配置不同?(猜),但是在数据处理过程中一定要看清楚。(2017.11.21添加)
时间戳=>指定格式的日期
# timestamp是时间戳# 如果timestamp原先是毫秒,则我们/1000后,会自动转换成double类型,但是主要from_unixtime要求第一个参数需要为bigint类型,所以我们需要用cast进行类型转换。# 语法from_unixtime(bigint unixtime[, stringformat])select from_unixtime(timestamp, 'yyyy-MM-dd HH:mm:ss') from test_table
指定格式日期=>时间戳
# 如果不写第二个参数,默认格式是 yyyy-MM-dd HH:mm:ssselect unix_timestamp('20170101 13:20:30', 'yyyyMMdd HH:mm:ss') from test_table
时间=>日期
# 只能接受这种形式select to_date('2017-01-01 13:20:30') from test_table
日期=>年/月/日/时/分/秒
# year(), month(), day(), hour(), minute(), second()# week() 返回日期所在的星期数select year('2017-01-01 13:20:30') from test_table
日期比较
# 返回结束日期减去开始日期的天数# 语法:datediff(string enddate, string startdate)select datediff('2017-01-31', '2017-01-1') from test_table
日期加减
# 语法:date_add(string startdate, int days)select date_add('2017-01-01', 10) from test_tableselect date_sub('2017-01-01', 10) from test_table
阅读全文
0 0
- hive中日期与时间戳转换
- Hive中日期与时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- java中日期时间格式与毫秒数的转换
- mysql 中日期格式 与 时间戳之间的相互转换
- C#中日期与时间的格式
- java中日期与字符串的转换
- JS中日期与毫秒的转换
- jsp中日期(时间)型与String,int的相互转换(网上收集)
- Java中日期时间格式与毫秒数的相互转换
- Hive中日期格式转换用法
- asp中日期时间转换为日期的函数
- App Store 审核指南 2017-12-13
- Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be
- Windows上面maven私服nexus的安装
- html 定位到table的一行
- 16周大总结
- Hive中日期与时间戳的转换
- 字节对齐
- 有关linux下redis overcommit_memory的问题
- Java设计模式——命令模式
- Golang从入门到精通(十六):Golang接口
- rgb2y rgb2uv汇编解析
- git如何合并远程2个分支
- 图- 最小生成树MST
- 前端模型--css动画(旋转八音盒)