在Make(Integromat)中将十进制时长转换为hh:mm:ss格式
在Make(Integromat)中将十进制时长转换为hh:mm:ss格式
假设你已经通过两个时间戳相减得到了十进制时长(示例值0.03422453704,对应目标格式00:02:03,该值以小时为单位),可以通过以下两种方法实现格式转换:
方法一:数学拆分拼接
计算总秒数:将十进制时长转换为总秒数,使用
multiply函数:{{multiply(你的十进制时长变量; 3600)}}示例中计算结果为
0.03422453704 * 3600 ≈ 123.2083秒。拆分并补零格式化:分别计算小时、分钟、秒,并用
padStart补两位零,最后拼接成目标格式:{{padStart(floor(总秒数变量 / 3600); 2; "0")}}:{{padStart(floor(mod(总秒数变量; 3600) / 60); 2; "0")}}:{{padStart(floor(mod(mod(总秒数变量; 3600); 60)); 2; "0")}}floor():取数值的整数部分mod():取两个数相除后的余数padStart():在数字前补零,确保最终为两位长度
方法二:使用formatDuration函数(更简洁)
Make内置的formatDuration函数可直接格式化时长,只需先将十进制时长转换为毫秒:
- 转换为毫秒:
{{multiply(你的十进制时长变量; 3600000)}} - 调用
formatDuration格式化:
该函数会自动处理补零和分段,直接输出{{formatDuration(毫秒数变量; "HH:mm:ss")}}hh:mm:ss格式的结果。
注意:如果你的十进制时长是以天为单位,只需将上述
3600(小时转秒)替换为86400(天转秒),3600000替换为86400000(天转毫秒)即可。
内容的提问来源于stack exchange,提问作者Bee Caribe
相关产品推荐
相关产品推荐

