Skip to content

date_add()

Описание

Функция date_add() добавляет указанное количество дней к дате.

Параметры

  • date: Column - дата в формате DateType
  • days: Integer - количество дней для добавления (может быть отрицательным для вычитания)

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

Date - новая дата после добавления дней

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import date_add, current_date

# Создаем SparkSession
spark = SparkSession.builder.appName("date_add_example").getOrCreate()

# Создаем DataFrame
data = [
    (1,),
    (2,),
    (3,)
]
df = spark.createDataFrame(data, ["id"])

# Добавляем текущую дату и дату через 7 дней
result = df.select(
    "id",
    current_date().alias("current_date"),
    date_add(current_date(), 7).alias("date_plus_7_days"),
    date_add(current_date(), -7).alias("date_minus_7_days")
).show()

# Результат:
# +---+------------+----------------+----------------+
# | id|current_date|date_plus_7_days|date_minus_7_days|
# +---+------------+----------------+----------------+
# |  1|  2024-01-01|      2024-01-08|      2023-12-25|
# |  2|  2024-01-01|      2024-01-08|      2023-12-25|
# |  3|  2024-01-01|      2024-01-08|      2023-12-25|
# +---+------------+----------------+----------------+

Примечания

  • Функция работает только с датами в формате DateType
  • Для вычитания дней используйте отрицательное значение параметра days
  • Для работы с месяцами используйте add_months()
  • Для вычисления разницы между датами используйте datediff()
  • Для форматирования даты используйте date_format()
  • Для извлечения компонентов даты используйте year(), month(), day()