如何将日期格式“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

在大查询中将 dd-mmm-yy 转换为 yyyy-mm-dd

如何将日期转换为字符串格式。? [复制]

将日期字符串转换为正确的格式

dd-MMM-yy时间格式转换,Locale.US

如何将日期字符串转换为 mysql 日期格式以使用 mysql 查询计算日期差异