spark/java上的unixtime

8yoxcaq7  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(355)

我有以下Dataframe:

+------------------------+
| Tracking_Time          |
+------------------------+
|2020-02-18 14:50:07     |
|2020-02-17 17:15:45     |
+------------------------+

我使用以下代码:

df.withColumn("current_date", expr("reflect('java.lang.System', 'currentTimeMillis')"))
  .withColumn("Tracking_Time_ms", unix_timestamp(col("Tracking_Time")));

我得到以下输出

+------------------------+------------------------+------------------------+
| Tracking_Time          |current_date            |Tracking_Time_ms        |
+------------------------+------------------------+------------------------+
|2020-02-18 14:50:07     |1598108268389           |1582037407              |              
|2020-02-17 17:15:45     |1598108270182           |1581959745              |
+------------------------+------------------------+------------------------+

如何转换的格式 Tracking_Time_ms 格式为 current_date ?

mctunoxg

mctunoxg1#

unix时间戳是运行的总秒数。此计数从1970年1月1日utc的unix纪元开始。
所以你在跟踪时间下看到的值实际上是以秒为单位的。
要将其转换为ms(与当前日期相同),需要将其乘以1000。

相关问题