如何将日期转换为格式为YYYYMMDD的字符串?

时间:2019-03-31 02:28:02

标签: hive hiveql

我在以下格式的文件中有一个日期:Sun Jan 28 01:00:22 2018

,但需要将其转换为YYYYMMDD格式,以便将日期用作partition

我尝试使用此命令,但返回的值为NULL。

select from_unixtime (unix_timestamp ('Sun Jan 28 01:00:22 2018', 'dd-MM-yyyy'))

1 个答案:

答案 0 :(得分:0)

unix_timestamp的参数应指定输入字符串的格式,即E MMM dd HH:mm:ss yyyy

此后,from_unixtime的参数应指定输出格式,在这种情况下为yyyyMMdd

您应该使用

select from_unixtime(unix_timestamp('Sun Jan 28 01:00:22 2018','E MMM dd HH:mm:ss yyyy')
                     ,'yyyyMMdd'
                    )

Documentation for useful patterns