Aller au contenu principal

from_utc_timestamp

Convertit un Timestamp neutre en fuseau horaire (interprété comme un Timestamp UTC) en un Timestamp dans le fuseau horaire donné. Il s'agit d'une fonction courante pour les bases de données prenant en charge TIMESTAMP WITHOUT TIMEZONE.

Cependant, le timestamp dans Spark représente le nombre de microsecondes depuis l'époque Unix, ce qui n'est pas indépendant du fuseau horaire. Ainsi, dans Spark, cette fonction déplace simplement la valeur du timestamp du fuseau horaire UTC vers le fuseau horaire donné.

Cette fonction peut renvoyer un résultat inattendu si l'entrée est une chaîne de caractères avec un fuseau horaire, par exemple : 2018-03-13T06:18:23+00:00, car Spark convertit d'abord la chaîne en Timestamp selon le fuseau horaire dans la chaîne, puis affiche le résultat en convertissant le Timestamp en chaîne selon le fuseau horaire local de la session.

Pour la fonction Databricks SQL correspondante, consultez la fonctionfrom_utc_timestamp.

Syntaxe

Python
from pyspark.sql import functions as dbf

dbf.from_utc_timestamp(timestamp=<timestamp>, tz=<tz>)

parameter

parameter

Type

Description

timestamp

pyspark.sql.Column OU str

la colonne qui contient les timestamps

tz

pyspark.sql.Column OU literal string

Une chaîne de caractères détaillant l'ID de fuseau horaire auquel l'entrée doit être ajustée. Il doit être au format d'identifiants de zone basés sur la région ou de décalages de zone. Les identifiants de région doivent être au format « zone/ville », tel que « America/Los_Angeles ». Les décalages de fuseau horaire doivent être au format '(+|- )HH', par exemple '-08:00' ou '+01:00'. Également, 'UTC' et 'Z' sont pris en charge comme alias de '+00:00'. Il n'est pas recommandé d'utiliser d'autres noms courts car ils peuvent être ambigus.

parameter

Type

Description

timestamp

pyspark.sql.Column OU str

la colonne qui contient les timestamps

tz

pyspark.sql.Column OU literal string

Une chaîne de caractères détaillant l'ID de fuseau horaire auquel l'entrée doit être ajustée. Il doit être au format d'identifiants de zone basés sur la région ou de décalages de zone. Les identifiants de région doivent être au format « zone/ville », tel que « America/Los_Angeles ». Les décalages de fuseau horaire doivent être au format '(+|- )HH', par exemple '-08:00' ou '+01:00'. Également, 'UTC' et 'Z' sont pris en charge comme alias de '+00:00'. Il n'est pas recommandé d'utiliser d'autres noms courts car ils peuvent être ambigus.

Renvoie

pyspark.sql.Column: valeur de timestamp représentée dans le fuseau horaire donné.

Exemples

Python
from pyspark.sql import functions as dbf
df = spark.createDataFrame([('1997-02-28 10:30:00', 'JST')], ['ts', 'tz'])
df.select('*', dbf.from_utc_timestamp('ts', 'PST')).show()
df.select('*', dbf.from_utc_timestamp(df.ts, df.tz)).show()