Skip to content

date_from_unix_date

Теги: datetime functions pyspark

Описание

Функция date_from_unix_date() преобразует количество дней с 1970-01-01 (Unix эпоха) в дату.

Параметры

  • col: Column - количество дней с начала Unix эпохи

Возвращаемое значение

Column - дата

Пример

from pyspark.sql import SparkSession
from pyspark.sql.functions import date_from_unix_date, unix_date

# Создаем Spark сессию
spark = SparkSession.builder.appName("date_from_unix_date_example").getOrCreate()

# Создаем DataFrame с количеством дней
data = [(0,), (1,), (18000,)]
df = spark.createDataFrame(data, ["days"])

# Преобразуем в дату
df = df.withColumn("date", date_from_unix_date("days"))
df.show()

# Вывод:
# +-----+----------+
# | days|      date|
# +-----+----------+
# |    0|1970-01-01|
# |    1|1970-01-02|
# |18000|2019-04-25|
# +-----+----------+

Примечания

  • 0 соответствует дате 1970-01-01 (начало Unix эпохи)
  • Отрицательные числа дают даты до 1970 года
  • Возвращает NULL, если входное значение NULL
  • Полезно для работы с датами в формате Unix
  • Для обратного преобразования используйте unix_date
  • Для работы с временными метками используйте from_unixtime