【问题标题】:hive 3.0.0 want to convert timestamp to string with a maskhive 3.0.0 想要将时间戳转换为带有掩码的字符串
【发布时间】:2020-10-09 13:53:17
【问题描述】:

我必须还原日期转换 一开始是

CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(t0.date_creation , 'yyyyMMdd'T'hhmmss')) AS TIMESTAMP)

现在我正在研究如何将时间戳转换为 'yyyyMMdd'T'hhmmss' 格式

语法CAST(date_creation as string format 'yyyy-MM-dd hh:mm:ss') 不起作用

【问题讨论】:

    标签: hive timestamp hiveql to-char


    【解决方案1】:

    使用date_format函数:

    select current_timestamp, date_format(current_timestamp,"yyyyMMdd'T'HHmmss") as result;
    

    返回:

    2020-10-09 15:03:36.584       20201009T150336
    

    在此处了解格式:SimpleDateFormat

    【讨论】:

    • 我也发现了这个 from_unixtime(cast (date_creation as bigint),'yyyyMMdd\'T\'hhmmss') 但你的解决方案更优雅
    • @Jeannot77680 希望您清楚地了解hhHH 格式之间的区别。如果您还没有相同,请检查它。请参阅 SimpleDateFormat 类 Java 文档。 hh 是 01-12 日期格式。 HH 是 00-23。 hh 单独没有 AM/PM 是没有意义的
    • 你是对的,一开始面具是错的,我也做错了。太棒了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多