如何将日期格式为“ dd-MMM-yy”的字符串转换为DateType

时间:2020-02-17 16:45:09

标签: scala apache-spark

示例“ 19年1月31日”应为2019年1月31日
我的代码:

df.withColumn("formattedDate", to_date($"date", "dd-MMM-yyyy").cast(DateType))
//this line gives same result
df.withColumn("unixDate", to_date(unix_timestamp($"date", "dd-MMM-yyyy")
   .cast("timestamp")))

此代码的结果:0019-01-31

1 个答案:

答案 0 :(得分:0)

以日期格式指定 yy ,而不是 yyyy

df.withColumn("formattedDate", to_date($"date", "dd-MMM-yy").cast(DateType)).show()

//+---------+-------------+
//|     date|formattedDate|
//+---------+-------------+
//|31-Jan-19|   2019-01-31|
//+---------+-------------+

df.withColumn("unixDate", to_date(unix_timestamp($"date", "dd-MMM-yy").cast("timestamp"))).show()

//+---------+----------+
//|     date|  unixDate|
//+---------+----------+
//|31-Jan-19|2019-01-31|
//+---------+----------+