我有以下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
?
1条答案
按热度按时间mctunoxg1#
unix时间戳是运行的总秒数。此计数从1970年1月1日utc的unix纪元开始。
所以你在跟踪时间下看到的值实际上是以秒为单位的。
要将其转换为ms(与当前日期相同),需要将其乘以1000。