2023 年的 UTC 区间从 1672531200 开始,到不包含的上界 1704067200 结束,全年共 365 天。
把一年当成左闭右开区间来用
WHERE event_time >= 1672531200
AND event_time < 1704067200
用“不包含的上界”比写“12 月 31 日 23:59:59”稳妥得多。无论数据库存的是整秒、毫秒还是更细的小数秒,这种写法都成立。
各月起点(UTC)
| 月份起点 | Unix 秒 | ISO 8601 UTC |
|---|---|---|
| 1 月 1 日 | 1672531200 | 2023-01-01T00:00:00Z |
| 2 月 1 日 | 1675209600 | 2023-02-01T00:00:00Z |
| 3 月 1 日 | 1677628800 | 2023-03-01T00:00:00Z |
| 4 月 1 日 | 1680307200 | 2023-04-01T00:00:00Z |
| 5 月 1 日 | 1682899200 | 2023-05-01T00:00:00Z |
| 6 月 1 日 | 1685577600 | 2023-06-01T00:00:00Z |
| 7 月 1 日 | 1688169600 | 2023-07-01T00:00:00Z |
| 8 月 1 日 | 1690848000 | 2023-08-01T00:00:00Z |
| 9 月 1 日 | 1693526400 | 2023-09-01T00:00:00Z |
| 10 月 1 日 | 1696118400 | 2023-10-01T00:00:00Z |
| 11 月 1 日 | 1698796800 | 2023-11-01T00:00:00Z |
| 12 月 1 日 | 1701388800 | 2023-12-01T00:00:00Z |
季度边界
- Q1:1672531200(2023-01-01T00:00:00Z)
- Q2:1680307200(2023-04-01T00:00:00Z)
- Q3:1688169600(2023-07-01T00:00:00Z)
- Q4:1696118400(2023-10-01T00:00:00Z)
- 下一年:1704067200(2024-01-01T00:00:00Z)
以上都是 UTC 值。如果业务时区不是 UTC,那么它的本地年度会从另一个瞬间开始;请先在那个具名时区里算好边界,再把结果存下来。