在scala中将字符串日期(不带分隔符)转换为日期格式

时间:2019-03-29 22:39:18

标签: scala apache-spark-sql

我在转换带有日期的列时遇到一些问题。我的日期列看起来像这样的“ 20032016”“ ddMMyyyy”。当我转换它时,我只会得到null。 我使用了以下代码:

df.withColumn("reporting_date",date_format(to_date(col("reporting_date"), "ddMMyyyy"), "yyyy-MM-dd")).show 

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您的代码示例对我有用:

scala> val df = Seq("20032016").toDF
df: org.apache.spark.sql.DataFrame = [value: string]

scala> df.withColumn("reporting_date",date_format(to_date(col("value"), "ddMMyyyy"), "yyyy-MM-dd")).show
+--------+--------------+
|   value|reporting_date|
+--------+--------------+
|20032016|    2016-03-20|
+--------+--------------+