在presto中将bigint转换为时间戳

时间:2018-04-26 19:29:36

标签: date time timestamp bigint presto

我的数据集中有一个数据类型为bigint的列:

Col1     Col2
   1     1519778444938790
   2     1520563808877450
   3     1519880608427160
   4     1520319586578960
   5     1519999133096120

如何将Col2转换为以下格式:

年 - 月 - 日hr:mm:ss

我不确定我当前列的格式是什么,但我知道它应该是一个时间戳。

任何帮助都会很棒,谢谢!

2 个答案:

答案 0 :(得分:5)

您是否尝试使用date_format等功能?您可以使用它将unix时间转换为时间戳,然后您可以使用date_format(from_unixtime(col2/1000), '%Y-%m-%d %h:%i:%s') 以您想要的方式显示它。请注意,在您的示例中,您的unix时间是以微秒为单位,因此您可能希望将其首先转换为毫秒。

我没有测试过,但我假设你的代码应该是这样的:

from_unixtime

请注意,private lazy var FirstObject: firstVC = { // Instantiate View Controller let viewController = self.storyboard?.instantiateViewController(withIdentifier: "firstVC") as! firstVC // Add View Controller as Child View Controller self.addChildViewController(viewController) return viewController }() 也接受时区。

请访问此页面以查看有关日期相关功能的更多详细信息:https://docs.starburstdata.com/latest/functions/datetime.html

答案 1 :(得分:0)

只需使用from_unixtime:

from_unixtime(Col2/1000, 'yyyy-MM-dd HH:mm:ss')

第一个答案是错误的。