Skip to content

last_day(date)

Описание

Функция last_day() возвращает последний день месяца для указанной даты или временной метки.

Параметры

  • date: Column - столбец с датами или временными метками

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

Date - дата последнего дня месяца

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

from pyspark.sql.functions import last_day
from pyspark.sql import SparkSession
from datetime import datetime

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

# Создаем DataFrame с датами
data = [
    (datetime(2023, 1, 15),),   # январь
    (datetime(2023, 2, 10),),   # февраль
    (datetime(2023, 12, 1),)    # декабрь
]
df = spark.createDataFrame(data, ["date"])

# Получаем последний день месяца для каждой даты
result = df.select(
    "date",
    last_day("date").alias("last_day_of_month")
).show(truncate=False)

# Результат:
# +-------------------+-----------------+
# |date               |last_day_of_month|
# +-------------------+-----------------+
# |2023-01-15 00:00:00|2023-01-31       |
# |2023-02-10 00:00:00|2023-02-28       |
# |2023-12-01 00:00:00|2023-12-31       |
# +-------------------+-----------------+

Примечания

  • NULL значения возвращают NULL
  • Функция учитывает количество дней в месяце, включая високосные годы
  • Для работы с датами также используйте:
  • year() для извлечения года
  • month() для извлечения месяца
  • day() для извлечения дня
  • hour() для извлечения часа
  • minute() для извлечения минут
  • second() для извлечения секунд
  • quarter() для извлечения квартала
  • dayofweek() для извлечения дня недели
  • dayofyear() для извлечения дня года