Hive 如何将2020年1月23日11:37:23 PM更改为ISO日期格式
如何将Hive 如何将2020年1月23日11:37:23 PM更改为ISO日期格式,hive,hiveql,iso8601,Hive,Hiveql,Iso8601,如何将MM/DD/YYYY HH:MM:SS AM/PM更改为ISO日期格式yyy-MM-DDThh:MM:ssZ 我已经尝试了一些函数,如unix\u timestamp等。这里有一种方法: beeline> select date_format(cast(unix_timestamp('04/19/2020 09:30:59 AM','MM/dd/yyyy HH:mm:ss a')*1000 as timestamp),'yyyy-MM-dd\'T\'HH:mm:ss\'Z\'');
MM/DD/YYYY HH:MM:SS AM/PM
更改为ISO日期格式yyy-MM-DDThh:MM:ssZ
我已经尝试了一些函数,如unix\u timestamp
等。这里有一种方法:
beeline> select date_format(cast(unix_timestamp('04/19/2020 09:30:59 AM','MM/dd/yyyy HH:mm:ss a')*1000 as timestamp),'yyyy-MM-dd\'T\'HH:mm:ss\'Z\'');
+-----------------------+
| _c0 |
+-----------------------+
| 2020-04-19T09:30:59Z |
+-----------------------+
1 row selected (0.255 seconds)
但是,如果您自己的时区不是UTC,那么您可能应该将简单的转换(…作为时间戳)
替换为typecast+时区转换,通过转换为UTC\u timestamp()
:
有关详细信息,请参阅配置单元
beeline> select date_format(to_utc_timestamp(unix_timestamp('04/19/2020 09:30:59 AM','MM/dd/yyyy HH:mm:ss a')*1000,'EST'),'yyyy-MM-dd\'T\'HH:mm:ss\'Z\'');
+-----------------------+
| _c0 |
+-----------------------+
| 2020-04-19T14:30:59Z |
+-----------------------+
1 row selected (0.236 seconds)