hive加减⽉份,获取上个⽉⽇期(前⼏个⽉)unix时间戳转换日期格式
1,如果拿到的⽇期格式不是标准格式(yyyy-MM-dd HH:mm:ss),先转成时间戳。
select unix_timestamp('202105', 'yyyyMM') from ****;
--返回结果:1619798400
2,再将时间戳转成标准时间格式。
select from_unixtime(unix_timestamp('202105', 'yyyyMM'), 'yyyy-MM-dd HH:mm:ss') from ***;
--返回结果:2021-05-01 00:00:00
3,调⽤add_months函数,负数代表往历史⽅向减⽉份, 正数代表往未来⽅向加⽉份。
select add_months(from_unixtime(unix_timestamp('202105', 'yyyyMM'), 'yyyy-MM-dd HH:mm:ss'), -1) from ***;
--返回结果:2021-04-01
4,再将⽇期转成时间戳格式
select unix_timestamp(add_months(from_unixtime(unix_timestamp('202105', 'yyyyMM'), 'yyyy-MM-dd HH:mm:ss'), -1), 'yyyy-MM-dd') from ***;
--返回结果:1617206400
5,设置⽇期模板,转换成最终想要的⽇期格式
select from_unixtime(unix_timestamp(add_months(from_unixtime(unix_timestamp('202105', 'yyyyMM'), 'yyyy-MM-dd HH:mm:ss'), -1), 'yyyy-MM-dd'), 'yyy --返回结果:202104
6.当前 时间上个⽉
select add_months(CURRENT_DATE,-2) from **;
--返回结果:2021-03-10
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论