The UTC range for 2025 starts at 1735689600 and ends at the exclusive boundary 1767225600. The year has 365 days.

Use the year as a half-open range

WHERE event_time >= 1735689600
  AND event_time <  1767225600

The exclusive upper boundary is safer than “December 31 at 23:59:59.” It works whether the database stores whole seconds, milliseconds, or fractions of a second.

Month starts in UTC

Month start Unix seconds ISO 8601 UTC
January 1 1735689600 2025-01-01T00:00:00Z
February 1 1738368000 2025-02-01T00:00:00Z
March 1 1740787200 2025-03-01T00:00:00Z
April 1 1743465600 2025-04-01T00:00:00Z
May 1 1746057600 2025-05-01T00:00:00Z
June 1 1748736000 2025-06-01T00:00:00Z
July 1 1751328000 2025-07-01T00:00:00Z
August 1 1754006400 2025-08-01T00:00:00Z
September 1 1756684800 2025-09-01T00:00:00Z
October 1 1759276800 2025-10-01T00:00:00Z
November 1 1761955200 2025-11-01T00:00:00Z
December 1 1764547200 2025-12-01T00:00:00Z

Quarter boundaries

  • Q1: 1735689600 (2025-01-01T00:00:00Z)
  • Q2: 1743465600 (2025-04-01T00:00:00Z)
  • Q3: 1751328000 (2025-07-01T00:00:00Z)
  • Q4: 1759276800 (2025-10-01T00:00:00Z)
  • Next year: 1767225600 (2026-01-01T00:00:00Z)

These are UTC values. If the business timezone is not UTC, its local year begins at a different instant; calculate those boundaries in the named location before storing the result.