Compartir a través de

unix_timestamp

使用默认时区和默认区域设置将具有给定模式('yyyy-MM-dd HH:mm:ss')的时间字符串转换为 Unix 时间戳(以秒为单位),如果失败,则返回 null。 如果 timestamp 为 None,则返回当前时间戳。

有关相应的 Databricks SQL 函数,请参阅 unix_timestamp 函数

Syntax

import pyspark.sql.functions as sf

# Returns current timestamp
sf.unix_timestamp()

# With timestamp
sf.unix_timestamp(timestamp=<timestamp>)

# With timestamp and format
sf.unix_timestamp(timestamp=<timestamp>, format=<format>)

参数

参数 类型 Description
timestamp pyspark.sql.Columnstr 可选。 字符串值的时间戳。
format str 可选。 用于转换的替代格式(默认值:yyyy-MM-dd HH:mm:ss)。

退货

pyspark.sql.Column:长整数的 unix 时间。

例子

示例 1:返回 UNIX 中的当前时间戳。

import pyspark.sql.functions as sf
spark.range(1).select(sf.unix_timestamp()).show()
+----------+
| unix_time|
+----------+
|1702018137|
+----------+

示例 2:使用默认格式“yyyy-MM-dd HH:mm:ss”分析时间戳字符串。

import pyspark.sql.functions as sf
df = spark.createDataFrame([('2015-04-08 12:12:12',)], ['ts'])
df.select('*', sf.unix_timestamp('ts')).show()
+-------------------+---------------------------------------+
|                 ts|unix_timestamp(ts, yyyy-MM-dd HH:mm:ss)|
+-------------------+---------------------------------------+
|2015-04-08 12:12:12|                             1428520332|
+-------------------+---------------------------------------+

示例 3:使用用户指定的格式“yyyy-MM-dd”分析时间戳字符串。

import pyspark.sql.functions as sf
df = spark.createDataFrame([('2015-04-08',)], ['dt'])
df.select('*', sf.unix_timestamp('dt', 'yyyy-MM-dd')).show()
+----------+------------------------------+
|        dt|unix_timestamp(dt, yyyy-MM-dd)|
+----------+------------------------------+
|2015-04-08|                    1428476400|
+----------+------------------------------+