在Azure Logic App中实现FileTime到DateTime的转换方法
Azure Logic App 转换FileTime为可识别的DateTime值
转换逻辑
FileTime是从1601年1月1日00:00:00 UTC开始的100纳秒间隔计数,要转成Logic App可识别的DateTime,按以下逻辑处理:
- 将FileTime值除以
10000000,转换为从1601年起始点开始的总秒数 - 基于这个秒数结合1601年起始时间,生成标准DateTime值
具体表达式
针对你的示例值133197984000000000,提供两种可用表达式:
方法1:基于Unix时间戳转换
convertFromUtc('@{sub(div(133197984000000000, 10000000), 11644473600)}', 'UTC')
注:
11644473600是1601年1月1日到1970年1月1日的秒数差,转换后得到Unix时间戳,再转成UTC标准时间
方法2:直接基于1601年起始时间计算
parseDateTime(addSeconds('1601-01-01T00:00:00Z', div(133197984000000000, 10000000)))
验证与使用
转换后的结果是Logic App原生支持的DateTime类型,可直接用于日期比较逻辑,比如用greater()判断时间先后:
greater(parseDateTime(addSeconds('1601-01-01T00:00:00Z', div(133197984000000000, 10000000))), utcNow())
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

