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

PySpark中to_timestamp()返回空值及转换报错问题求助

问题解决:Spark 3.0+日期转时间戳报错修正

错误原因

你的格式字符串'MM/DD/YYYY HH24:MI:SS'存在三个不符合Spark 3.0+日期解析规则的问题:

  • YYYY:这是基于周的年份,Spark 3.0起已禁止用该模式解析日期,需替换为表示公历年的yyyy。
  • DD:表示一年中的第几天,但你的日期是06/15/2020(月/日/年),15是当月的第15天,应使用表示当月天数的dd。
  • HH24:Spark日期格式中HH本身就代表24小时制小时,无需额外加24。

修正后的代码

from pyspark.sql import functions as F
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("DateConversion").getOrCreate()

data = [["06/15/2020 14:04:04"]]
cols = ["date"]

df = spark.createDataFrame(data, cols)

# 修正格式字符串
df = df.withColumn("datetime", F.to_timestamp(F.col("date"), 'MM/dd/yyyy HH:mm:ss'))
df.show()

运行结果

+-------------------+-------------------+
|               date|           datetime|
+-------------------+-------------------+
|06/15/2020 14:04:04|2020-06-15 14:04:04|
+-------------------+-------------------+

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:00:32