通过


timestamp_diff

通过截断分数部分获取指定单位中的时间戳之间的差异。

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.timestamp_diff(unit=<unit>, start=<start>, end=<end>)

参数

参数 类型 Description
unit literal string 这表示给定时间戳之间的差异单位。 支持的选项有(不区分大小写):“YEAR”、“QUARTER”、“MONTH”、“WEEK”、“DAY”、“HOUR”、“MINUTE”、“SECOND”、“毫秒”和“MICROSECOND”。
start pyspark.sql.Columnstr 表达式从 endTimestamp中减去的时间戳。
end pyspark.sql.Columnstr 表达式减去 startTimestamp的时间戳。

退货

pyspark.sql.Column:时间戳之间的差异。

例子

import datetime
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame(
[(datetime.datetime(2016, 3, 11, 9, 0, 7), datetime.datetime(2024, 4, 2, 9, 0, 7))],
['ts1', 'ts2'])
df.select('*', dbf.timestamp_diff('year', 'ts1', 'ts2')).show()
df.select('*', dbf.timestamp_diff('WEEK', 'ts1', 'ts2')).show()
df.select('*', dbf.timestamp_diff('day', df.ts2, df.ts1)).show()