你是否遇到数据库中获取的数据,日期列的日期是这样的 “1668857292” 整数型格式?
那下面的内容对你绝对有用。
时间戳,指的是根据格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起,到现在时间的总秒数。
说人话,时间戳是能够表示一个、一条、一份数据在一个特定时间点已经存在的、完整的、可验证的数据,它的出现主要是为用户提供一份电子证据,用以证明用户的某些数据的精确产生时间。
时间戳被广泛运用于知识产权保护、合同签字、金融交易等方面,它一般由13位数字组成,返回毫秒级的时间,但日常应用一般不会达到这个精度,在PowerBI中也没有显示毫秒,而精确到秒的时间戳是在数据库内很常用的,前10位就是秒数。
本文将以常见的10位时间戳为例,如果你遇到的是13位时间戳,直接截取前10位,再进行下文的方法即可。
两种方法:
一、新建空查询,复制粘贴下面的M代码,创建一个查询函数。
(Timestamp)=>
let datetime= (#datetime(1970,1,1,8,0,0) + #duration(0,0,0,Timestamp))
in datetime
查询名称自行设置,稍后会用到。
添加自定义列,输入刚才的查询名称,插入需要转换的日期列。
确定提交
二、DAX公式
新建计算列,输入DAX表达式,即可。
可以去这里验证:前往验证
说明:
无论是新建查询还是DAX表达式的方法,都有+8小时,是因为格林威治时间和背景时间有相差8小时。