The UTC range for 2029 starts at 1861920000 and ends at the exclusive boundary 1893456000. The year has 365 days.

Use the year as a half-open range

WHERE event_time >= 1861920000
  AND event_time <  1893456000

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 1861920000 2029-01-01T00:00:00Z
February 1 1864598400 2029-02-01T00:00:00Z
March 1 1867017600 2029-03-01T00:00:00Z
April 1 1869696000 2029-04-01T00:00:00Z
May 1 1872288000 2029-05-01T00:00:00Z
June 1 1874966400 2029-06-01T00:00:00Z
July 1 1877558400 2029-07-01T00:00:00Z
August 1 1880236800 2029-08-01T00:00:00Z
September 1 1882915200 2029-09-01T00:00:00Z
October 1 1885507200 2029-10-01T00:00:00Z
November 1 1888185600 2029-11-01T00:00:00Z
December 1 1890777600 2029-12-01T00:00:00Z

Quarter boundaries

  • 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)
  • Next year: 1893456000 (2030-01-01T00:00:00Z)

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