Skip to content

to_utc_timestamp(timestamp, timezone)

Описание

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

Параметры

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

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

Column - временная метка в UTC

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

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

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

# Создаем DataFrame с временем в разных часовых поясах
df = spark.range(1)
df = df.withColumn("moscow_time", current_timestamp())
df = df.withColumn("new_york_time", current_timestamp())
df = df.withColumn("tokyo_time", current_timestamp())

# Преобразуем в UTC
df = df.withColumn("utc_from_moscow", to_utc_timestamp("moscow_time", lit("Europe/Moscow")))
df = df.withColumn("utc_from_new_york", to_utc_timestamp("new_york_time", lit("America/New_York")))
df = df.withColumn("utc_from_tokyo", to_utc_timestamp("tokyo_time", lit("Asia/Tokyo")))

df.show(truncate=False)

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

Примечания

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