pyspark.sql.functions.to_utc_timestamp

pyspark.sql.functions。 to_utc_timestamp ( 時間戳:ColumnOrName,tz:ColumnOrName )→pyspark.sql.column.Column

這是一種常見的函數數據庫支持沒有時區的時間戳。timezone-agnostic這個函數需要一個時間戳,在給定的時區,並把它解釋為一個時間戳,並呈現時間戳在UTC時間戳。

然而,時間戳在火花代表數微秒的Unix紀元,這不是timezone-agnostic。所以在火花這個函數就將時間戳的值從給定的UTC時區的時區。

這個函數可以返回令人困惑的結果與時區如果輸入是一個字符串,例如“2018 - 03 - 13 - t06:18:23 + 00:00”。原因在於,火花首先把字符串根據時區的時間戳字符串,最後顯示結果通過將時間戳轉換為字符串根據會話當地時區。

參數
時間戳 或str

包含時間戳列

tz 或str

一係列詳細的時區ID輸入應該調整。它應該在的格式提出區域id或區域補償。區域id必須形成“區域/城市”,如“美國/ Los_Angeles”。區補償一定的格式(+ | -)HH: mm的,例如“喂飼”或“+ 01:00”。還“UTC”和“Z”upported + 00:00”的別名。其他短名稱不推薦使用,因為他們可以模糊。

tz可以包含時區ID字符串。

例子

> > >df=火花createDataFrame(((“1997-02-28 10:30:00”,“JST”)),(“t”,' tz '])> > >df選擇(to_utc_timestamp(dfts,“太平洋標準時間”)別名(“已知的”utc_time表示))收集()(行= datetime已知的(utc_time表示。datetime(1997 2, 28歲,18歲,30))> > >df選擇(to_utc_timestamp(dfts,dftz)別名(“已知的”utc_time表示))收集()(行= datetime已知的(utc_time表示。datetime(1 1997 2, 28日,30))