如何将 YYYYMMDD 格式(int)的日期转换为配置单元中的日期时间格式?
Posted
技术标签:
【中文标题】如何将 YYYYMMDD 格式(int)的日期转换为配置单元中的日期时间格式?【英文标题】:How to convert date in YYYYMMDD format (int) to datetime format in hive? 【发布时间】:2019-12-11 13:10:04 【问题描述】: select from_unixtime(unix_timestamp('20190901','yyyymmdd'));
OK
+----------------------+
| _c0 |
+----------------------+
| 2019-01-01 00:09:00 |
+----------------------+
所需的输出是 2019-09-01 00:00:00 。我做错了什么?
【问题讨论】:
不确定如何格式化显示 【参考方案1】:想通了。 mm 是分钟,MM 是月。
应该是 yyyyMMdd 而不是 yyyymmdd
【讨论】:
【参考方案2】:高效的方法是使用substr和concat_ws:
with your_table as (select 20190901 as initial_date)
select concat_ws('-',substr(initial_date, 1, 4), substr(initial_date, 5, 2), substr(initial_date, 7, 2)) as dt from your_table;
结果
2019-09-01
或者使用 regexp_replace:
select regexp_replace(initial_date, '^(\\d4)(\\d2)(\\d2)$','$1-$2-$3')
如果您更喜欢使用 unix_timestamp,请使用正确的格式 'yyyyMMdd'
:
select from_unixtime(unix_timestamp('20190901','yyyyMMdd'));
在此处查看数据格式:SimpleDateFormat
【讨论】:
以上是关于如何将 YYYYMMDD 格式(int)的日期转换为配置单元中的日期时间格式?的主要内容,如果未能解决你的问题,请参考以下文章
求一个简单js方法将 日期yyyymmdd格式转换为yyyy-mm-dd
如何在 Presto/Hive 中将日期格式 YYYY-MM-DD 转换为整数 YYYYMMDD?
在excel中 如何快速吧日期格式ddmmyyyy改为yyyymmdd这种
怎么将excel的日期格式YYYYMMDD转换为YYYY-MM-DD
用于将数字 YYYYMMDD 格式转换为日期的 Netezza SQL 语法
请问在excel中如何把数值YYYYMMDD转换为日期YYYY-MM-DD呢?如果直接设置单元格格式为日期,只能显示一连串