怎么数「距离某天还有多少天」
「还有多少天」听起来就是减法,但约定不对就会差一天。这里把规矩一次讲清楚。
数的是日历天,不是 24 小时块
「还有多少天」的约定是日历天:今天和目标日之间隔了几个午夜。今天是星期四、目标是星期六,答案就是 2 —— 哪怕中间实际经过的小时数是 47 或 49。
你脚下这一天算 0。所以周六问「距离周六还有多少天」答案是 0:就是今天。周日问则是 6 而不是 7,因为到下一个周六要经过 6 个午夜。
把天数换算成周和小时
换成周:除以 7,余数留着 —— 100 天是 14 周零 2 天。换成小时:乘以 24 —— 但注意夏令时的切换可能让实际经过时间多或少一个小时。
工作日又是另一套算法:跳过周六周日,再扣掉你所在地区的法定假日。30 个日历天通常约合 21、22 个工作日。
为什么两个网站会差一天
每一个「还有多少天」的答案都锚定在某个时区的午夜。本页按你自己浏览器所在的时区数午夜 —— 这才是和你日历一致的答案。
按 UTC 计算的网站,在换日线附近或深夜时段可能比你快一天或慢一天。如果两个倒数恰好差一天,几乎都是这个原因。