Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 将日期时间字符串(2017年3月24日10:00:00 PM)转换为(2017年3月24日22:00:00)配置单元,即从12小时格式转换为24小时格式_Datetime_Hadoop_Hive - Fatal编程技术网

Datetime 将日期时间字符串(2017年3月24日10:00:00 PM)转换为(2017年3月24日22:00:00)配置单元,即从12小时格式转换为24小时格式

Datetime 将日期时间字符串(2017年3月24日10:00:00 PM)转换为(2017年3月24日22:00:00)配置单元,即从12小时格式转换为24小时格式,datetime,hadoop,hive,Datetime,Hadoop,Hive,我在配置单元表中有一个数据类型为string的datetime字段 情况如下: datetime 3/24/2017 10:00:00 PM 尝试将其转换为配置单元所需的正确格式,并尝试将AM/PM删除为24小时格式,但无效 select from_unixtime(unix_timestamp(datetime,'mm-dd-yyyy HH:MM:SS')) from test_table 格式为MM dd yyyy HH:MM:ss aa select from_unixtime(uni

我在配置单元表中有一个数据类型为string的datetime字段

情况如下:

datetime 3/24/2017 10:00:00 PM
尝试将其转换为配置单元所需的正确格式,并尝试将AM/PM删除为24小时格式,但无效

select from_unixtime(unix_timestamp(datetime,'mm-dd-yyyy HH:MM:SS')) from test_table

格式为
MM dd yyyy HH:MM:ss aa

select from_unixtime(unix_timestamp(datetime,'MM-dd-yyyy HH:mm:ss aa')) from test_table;

您可以使用以下命令实现此目的:

select from_unixtime(unix_timestamp(datetime,'MM/dd/yyyy hh:mm:ss aa'),'MM-dd-yyyy HH:mm:ss') from test_table;

“MM/dd/yyyy hh:MM:ss aa”不起作用。您可以通过以下方式对此进行存档:

FROM_UNIXTIME
(
    (
    CASE WHEN 
             datetime LIKE '%AM%' 
         THEN 
             UNIX_TIMESTAMP(datetime,'MM/dd/yyyy HH:mm:ss aa') 
         ELSE 
            (UNIX_TIMESTAMP(datetime,'MM/dd/yyyy HH:mm:ssaa') + (12 * 3600)) 
    END
    )
    ,'MM-dd-yyyy HH:mm:ss'
)