2029 年的 UTC 区间从 1861920000 开始,到不包含的上界 1893456000 结束,全年共 365 天。

把一年当成左闭右开区间来用

WHERE event_time >= 1861920000
  AND event_time <  1893456000

用“不包含的上界”比写“12 月 31 日 23:59:59”稳妥得多。无论数据库存的是整秒、毫秒还是更细的小数秒,这种写法都成立。

各月起点(UTC)

月份起点 Unix 秒 ISO 8601 UTC
1 月 1 日 1861920000 2029-01-01T00:00:00Z
2 月 1 日 1864598400 2029-02-01T00:00:00Z
3 月 1 日 1867017600 2029-03-01T00:00:00Z
4 月 1 日 1869696000 2029-04-01T00:00:00Z
5 月 1 日 1872288000 2029-05-01T00:00:00Z
6 月 1 日 1874966400 2029-06-01T00:00:00Z
7 月 1 日 1877558400 2029-07-01T00:00:00Z
8 月 1 日 1880236800 2029-08-01T00:00:00Z
9 月 1 日 1882915200 2029-09-01T00:00:00Z
10 月 1 日 1885507200 2029-10-01T00:00:00Z
11 月 1 日 1888185600 2029-11-01T00:00:00Z
12 月 1 日 1890777600 2029-12-01T00:00:00Z

季度边界

  • Q1:1861920000(2029-01-01T00:00:00Z)
  • Q2:1869696000(2029-04-01T00:00:00Z)
  • Q3:1877558400(2029-07-01T00:00:00Z)
  • Q4:1885507200(2029-10-01T00:00:00Z)
  • 下一年:1893456000(2030-01-01T00:00:00Z)

以上都是 UTC 值。如果业务时区不是 UTC,那么它的本地年度会从另一个瞬间开始;请先在那个具名时区里算好边界,再把结果存下来。