You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark中如何将dd.mm.yyyy格式字符串转为yyyy-MM-dd日期格式?

解决PySpark日期字符串转日期类型返回null的问题

你遇到的核心问题是**to_date函数的格式参数用错了**——这个参数需要匹配输入字符串的格式,而非你期望的输出格式。

你的输入字符串格式是dd.mm.yyyy(比如02.11.2008),但你传入的格式是yyyy-mmm-dd,完全不匹配,导致转换失败返回null。另外要注意:月份格式需用大写MM,小写mm代表的是分钟,这也是容易踩的坑。

正确转换代码

df = df.withColumn("date_col", to_date("string_col", "dd.MM.yyyy"))

转换后结果

string_coldate_col
02.11.20082008-11-02
26.02.20212021-02-26

如果后续需要把日期类型列转为yyyy-MM-dd格式的字符串列,可以搭配date_format函数:

df = df.withColumn("date_str", date_format("date_col", "yyyy-MM-dd"))

内容的提问来源于stack exchange,提问作者f.ivy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:25:14