【问题标题】:Date format in Pyspark DataframePyspark Dataframe 中的日期格式
【发布时间】:2021-01-12 19:04:06
【问题描述】:

我的数据:

[Row(ID=2887628, Date_Time='11/01/2019 05:00:00 PM'),

我的代码:

from pyspark.sql import functions as F
df = df.withColumn('Date_Time',F.to_date(F.unix_timestamp('Date_Time', 'MM/dd/yyyy HH:mm:ss a').cast('timestamp')))

但是Date_Time的答案是错误的:

[Row(ID=2887628, Date_Time=None),

这里有什么问题?

【问题讨论】:

    标签: apache-spark datetime pyspark apache-spark-sql


    【解决方案1】:

    使用小写 h 而不是大写。请参阅docs 了解正确的日期时间模式用法。

    df2 = df.withColumn(
        'Date_Time',
        F.to_date(F.unix_timestamp('Date_Time', 'MM/dd/yyyy hh:mm:ss a').cast('timestamp'))
    )
    

    您的代码也可以简化。无需使用unix_timestamp

    df2 = df.withColumn(
        'Date_Time',
        F.to_date('Date_Time', 'MM/dd/yyyy hh:mm:ss a')
    )
    

    【讨论】:

    • 如何显示日期和时间而不仅仅是日期?
    • @LicunLiu 使用to_timestamp 而不是to_date
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 2021-05-07
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多