有人可以解釋一下下面的紀元時間嗎
- 紀元時間/unix 時間戳:1668443121840
- 轉換為日期:2022-11-14T16:25:21.840 0000
轉換是如何進行的,如果以秒、毫秒、微秒或納秒為單位,如何識別紀元時間戳?
此外,pyspark 中是否有將日期轉換回紀元時間戳的函式?
謝謝!提前。
我嘗試了多種方法,但沒有達到預期的效果:
t = datetime.datetime.strptime('2021-11-12 02:12:23', '%Y-%m-%d %H:%M:%S')
print(t.strftime('%s'))
因為我無法控制以秒、毫秒、微秒或納秒為單位的格式或精度。
uj5u.com熱心網友回復:
紀元時間/unix-timestamp 使用參考日期:1970 年 1 月 1 日 00:00:00 UTC。它從該日期開始計算秒/毫秒。
您要查找的值以毫秒為單位,因此您必須計算毫秒并與紀元時間連接:
import pyspark.sql.functions as F
df = spark.createDataFrame([('2022-11-14T16:25:21.840 0000',)]).toDF("timestamp")\
df\
.withColumn("timestamp",F.to_timestamp(F.col("timestamp")))\
.withColumn("epoch_seconds",F.unix_timestamp("timestamp"))\
.withColumn("epoch_miliseconds",F.concat(F.unix_timestamp("timestamp"), F.date_format("timestamp", "S")))\
.show(truncate=False)
# ---------------------- ------------- -----------------
# |timestamp |epoch_seconds|epoch_miliseconds|
# ---------------------- ------------- -----------------
# |2022-11-14 16:25:21.84|1668443121 |16684431218 |
# ---------------------- ------------- -----------------
uj5u.com熱心網友回復:
unix 時間戳計算自1970 年 1 月 1 日 00:00:00 UTC以來經過的秒數。
要在 PySpark 中將日期轉換為 unix 時間戳,您可以使用unix_timestamp函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/534480.html
標籤:约会时间pyspark天蓝色数据块unix 时间戳时代
下一篇:如何以天為單位設定日期限制?
