如何将日期格式“dd-MMM-yy”的字符串转换为DateType [重复]
Posted
技术标签:
【中文标题】如何将日期格式“dd-MMM-yy”的字符串转换为DateType [重复]【英文标题】:How to convert String of date format "dd-MMM-yy" into DateType [duplicate] 【发布时间】:2020-02-17 16:45:09 【问题描述】:示例“31-Jan-19”应该是 2019-01-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】:在日期格式中指定 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|
//+---------+----------+
【讨论】:
以上是关于如何将日期格式“dd-MMM-yy”的字符串转换为DateType [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Impala:将 dd-MMM-yy 字符串转换为 yyyy-mm-dd