date_sub()
Описание
Функция date_sub()
вычитает указанное количество дней из даты.
Параметры
date
: Column - дата в формате DateTypedays
: Integer - количество дней для вычитания (может быть отрицательным для добавления)
Возвращаемое значение
Date - новая дата после вычитания дней
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import date_sub, current_date
# Создаем SparkSession
spark = SparkSession.builder.appName("date_sub_example").getOrCreate()
# Создаем DataFrame
data = [
(1,),
(2,),
(3,)
]
df = spark.createDataFrame(data, ["id"])
# Вычитаем дни из текущей даты
result = df.select(
"id",
current_date().alias("current_date"),
date_sub(current_date(), 7).alias("date_minus_7_days"),
date_sub(current_date(), -7).alias("date_plus_7_days")
).show()
# Результат:
# +---+------------+----------------+----------------+
# | id|current_date|date_minus_7_days|date_plus_7_days|
# +---+------------+----------------+----------------+
# | 1| 2024-01-01| 2023-12-25| 2024-01-08|
# | 2| 2024-01-01| 2023-12-25| 2024-01-08|
# | 3| 2024-01-01| 2023-12-25| 2024-01-08|
# +---+------------+----------------+----------------+
Примечания
- Функция работает только с датами в формате DateType
- Для добавления дней используйте отрицательное значение параметра
days
- Для работы с месяцами используйте
add_months()
- Для вычисления разницы между датами используйте
datediff()
- Для форматирования даты используйте
date_format()
- Для извлечения компонентов даты используйте
year()
,month()
,day()