如何将Date值转换为Unix时间戳?PowerApps简易实现咨询
如何将Date值转换为Unix时间戳(含PowerApps实现方法)
嘿,这问题我熟!先给你理清楚基本逻辑,再重点讲PowerApps里的简便实现方式。
通用转换逻辑
Unix时间戳本质是从1970年1月1日00:00:00 UTC(也就是所谓的"Unix纪元")到目标日期的时间差,通常有两种形式:
- 秒级时间戳:差数以秒为单位(比如
1583722800) - 毫秒级时间戳:差数以毫秒为单位(比如你示例里的
1583722800000)
不管用什么语言,核心都是计算目标日期和Unix纪元起始时间的差值,再转换成对应的单位。
PowerApps里的简便实现方法
PowerApps本身没有内置的UNIX()函数,但我们可以自己构建公式,甚至封装成自定义函数,用起来和你示例里的写法一样方便!
1. 直接使用公式转换
如果你只是临时用一次,直接写下面的公式就行:
- 毫秒级时间戳:
DateDiff(Date(1970, 1, 1), YourDate, Milliseconds) - 秒级时间戳:
DateDiff(Date(1970, 1, 1), YourDate, Seconds)
对应你给出的示例:
- 转换今日日期:
DateDiff(Date(1970, 1, 1), Today(), Milliseconds)→ 返回1583722800000 - 转换指定日期:
DateDiff(Date(1970, 1, 1), Date(2020, 03, 09), Milliseconds)→ 返回1583722800000
2. 封装成自定义函数(更简便)
如果需要多次使用,建议把这个逻辑封装成自定义函数,这样就能像你示例里那样直接调用UNIX(YourDate):
- 打开PowerApps Studio,点击右上角的设置 → 选择高级设置
- 找到允许自定义函数,开启这个选项
- 回到编辑界面,点击左侧菜单栏的公式 → 选择新建自定义函数
- 输入函数定义:
(如果需要秒级,把UNIX = (dateValue As DateTime) -> DateDiff(Date(1970, 1, 1), dateValue, Milliseconds)Milliseconds换成Seconds即可) - 保存后,你就可以在应用里直接用
UNIX(Today())或者UNIX(Date(2020, 03, 09))来获取时间戳啦!
注意:PowerApps里的日期函数会受当前应用的时区设置影响,如果需要严格基于UTC计算,可以先用
DateTimeValue(Text(YourDate, "yyyy-mm-ddThh:mm:ss"), UTC)把日期转成UTC时间再计算。
内容的提问来源于stack exchange,提问作者Lucas Sousa
相关产品推荐
相关产品推荐

