PySpark Unix 时间到 yyyy-MM-dd HH:mm:ss.SSS

问题描述 投票:0回答:1

我想使用 PySpark 将纪元时间(以毫秒为单位)转换为 yyyy-MM-dd HH:mm:ss.SSS。我在下面尝试过,但我得到了奇怪的转换。

srcdf.withColumn("createdTime",from_unixtime(col("createdTime"),"yyyy-MM-dd HH:mm:ss.SSS"))

例如, 1696012940095 被转换为 +55714-07-06 09:34:55.000 ,而它应该是 2023-09-29 18:42:20.095 。看起来这是因为这个函数只需要以秒为单位的纪元时间作为输入。问题 - 如何获得毫秒级粒度?

datetime pyspark unix-timestamp
1个回答
0
投票

这有效。

srcdf.withColumn("createdTime",(col("createdTime")/1000).cast("timestamp"))
© www.soinside.com 2019 - 2024. All rights reserved.