Skip to content

from_utc_timestamp(timestamp, timezone)

Описание

Функция from_utc_timestamp() преобразует временную метку из UTC в указанный часовой пояс.

Параметры

  • timestamp: Column - временная метка в UTC
  • timezone: Column - целевой часовой пояс (например, 'America/Los_Angeles', 'Europe/Moscow')

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

Column - временная метка в указанном часовом поясе

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

from pyspark.sql.functions import from_utc_timestamp, current_timestamp, lit
from pyspark.sql import SparkSession

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

# Создаем DataFrame с текущим временем
df = spark.range(1)
df = df.withColumn("utc_time", current_timestamp())

# Преобразуем в разные часовые пояса
df = df.withColumn("moscow_time", from_utc_timestamp("utc_time", lit("Europe/Moscow")))
df = df.withColumn("new_york_time", from_utc_timestamp("utc_time", lit("America/New_York")))
df = df.withColumn("tokyo_time", from_utc_timestamp("utc_time", lit("Asia/Tokyo")))

df.show(truncate=False)

# Результат:
# +---+-----------------------+-----------------------+-----------------------+-----------------------+
# |id |utc_time              |moscow_time            |new_york_time          |tokyo_time             |
# +---+-----------------------+-----------------------+-----------------------+-----------------------+
# |0  |2024-03-20 10:00:00   |2024-03-20 13:00:00    |2024-03-20 06:00:00    |2024-03-20 19:00:00    |
# +---+-----------------------+-----------------------+-----------------------+-----------------------+

Примечания

  • Принимает временную метку в UTC
  • Поддерживает все стандартные часовые пояса
  • Возвращает NULL, если любой из параметров NULL
  • Для обратного преобразования используйте to_utc_timestamp()
  • Учитывает переход на летнее время
  • Полезно для работы с данными из разных регионов