问题现象
表单里使用日期时间组件(底层存储带时分秒的时间戳,前端只展示年月日),直接用DAYS计算和今日的间隔天数,结果计算错误。
产生原因
字段底层保存完整时分秒时间戳,例如2026-09-23 16:20:00,如果当前时间小于记录里的时分秒,DAYS 会少算 1 天。
解决方案公式
DAYS(TIMESTAMP(TEXT(TODAY(),”yyyyMMdd”),”yyyyMMdd”),TIMESTAMP(TEXT(日期,”yyyyMMdd”),”yyyyMMdd”))
公式拆解说明
1 TEXT(TODAY(),”yyyyMMdd”):获取今天,格式化为纯年月日字符串(例20260923)
2 TIMESTAMP(…, “yyyyMMdd”):把上面纯年月日文本,转为当天00:00:00的时间戳
3 TEXT(日期,”yyyyMMdd”):将原日期时间字段(带时分秒)提取年月日,抛弃时分秒
4 DAYS(结束时间戳,起始时间戳):计算两个零点时间戳之间相差天数
把【今日】和【日期字段】统一格式为yyyyMMdd纯年月日字符串,再转成时间戳,忽略时分秒,只按自然日期计算相差天数。