当两个日期字段使用 yyyy/MM/dd 格式,并以公式相减时,结果可能会出现小数点。这通常是因为用户浏览器的时区处于日光节约时间(DST)所导致。
如果其中一个日期落在日光节约时间内(约每年 3 月至 10 月),而另一个不在此范围内(约 11 月至隔年 2 月),两个字段相减就会有小数点。
范例说明:
假设用户的浏览器设置为美国时区,表单中有两个日期字段(格式均为 yyyy/MM/dd):
1. A1 = 2020/10/31(处于日光节约时间)
2. A2 = 2020/11/02(不在日光节约时间)
另外有一个 A3 为数值字段,套用公式:“A2-A1”,会发现 A3 的结果为 “2.0416667”,而不是预期中的 “2”,这是因为 2020/10/31 正处于美国的日光节约时间,2020/11/02 已结束日光节约,所以会差 “0.0416667” 天(等于 1 个小时)。
解决方式:
可以在公式中加入 ROUND 函数,例如:ROUND(A2 - A1),就可以将结果四舍五入为整数,避免小数点问题,获取预期的天数差异。