メインコンテンツまでスキップ

タイムゾーン変換

タイムゾーンなしのタイムスタンプsourceTs sourceTzタイムゾーンからtargetTzに変換します。

対応する Databricks SQL 関数については、 convert_timezone関数を参照してください。

構文

Python
from pyspark.databricks.sql import functions as dbf

dbf.convert_timezone(sourceTz=<sourceTz>, targetTz=<targetTz>, sourceTs=<sourceTs>)

パラメーター

パラメーター

Type

説明

sourceTz

pyspark.sql.Column, optional

入力タイムスタンプのタイムゾーン。指定しない場合は、現在のセッションのタイムゾーンがソース タイムゾーンとして使用されます。

targetTz

pyspark.sql.Column

入力タイムスタンプを変換するタイムゾーン。

sourceTs

pyspark.sql.Column または str

タイムゾーンのないタイムスタンプ。

戻り値

pyspark.sql.Column: 変換されたタイムゾーンのタイムスタンプを含む新しい列。

Python
spark.conf.set("spark.sql.session.timeZone", "America/Los_Angeles")
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('2015-04-08 00:00:00',)], ['ts'])
df.select(
'*',
dbf.convert_timezone(None, dbf.lit('Asia/Hong_Kong'), 'ts')
).show()
df = spark.createDataFrame([('2015-04-08 15:00:00',)], ['ts'])
df.select(
'*',
dbf.convert_timezone(dbf.lit('Asia/Hong_Kong'), dbf.lit('America/Los_Angeles'), df.ts)
).show()
spark.conf.unset("spark.sql.session.timeZone")