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

为什么Spark无法识别DD-MM-yyyy HH:mm格式的时间戳?

问题根因

格式符使用错误

Spark的日期时间解析遵循Java SimpleDateFormat规范,你用错了日期占位符:

  • 大写DD对应一年中的第几天,取值范围为1~366
  • 小写dd才对应一个月中的第几天,取值范围为1~31

你输入的时间字符串中27是4月的第27天,用DD解析时会被识别为2021年的第27天(即1月27日),和后续的月份04逻辑冲突,因此解析失败返回null。

修正方案

将格式字符串中的DD替换为dd即可,修改后代码如下:

df = spark.createDataFrame([('27-04-2021 14:11',)], ['t'])
df = df.select(to_timestamp(df.t, 'dd-MM-yyyy HH:mm').alias('dt'))
display(df)

运行后将得到正确的解析结果:2021-04-27 14:11:00。


内容的提问来源于stack exchange,提问作者MetallicPriest

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:24:08