当前 UTC 年度的起点,就是 1 月 1 日 00:00:00 UTC。它是一个边界,不是某地的钟面读数。上方的实时速查会算出当前的值;在查询和定时任务里,请沿用同一套定义。

上界请用“不包含”

WHERE event_time >= :yearStart
  AND event_time <  :nextYearStart

这种写法能把目标区间内的所有事件都收进来,既不用去编造一个“最后一秒”,也不会漏掉带亚秒精度的值。

UTC 的一天和本地的一天不是同一段区间

UTC 的一天从 00:00:00Z 开始;而某个具名时区里的营业日从当地午夜开始,对应的 Unix 时间戳可能不同,还会随夏令时规则变动。算边界之前,先想清楚这份报表说的是哪一种“一天”。