Year End

Timestamp de fim de ano

Encontre o timestamp Unix do próximo limite de ano e copie valores de intervalo de datas comuns para relatórios anuais e scripts.

Seu fuso horário local é UTC

Limite de fim de ano

Para a maioria dos filtros de banco de dados, o limite limpo é o início do ano seguinte às 00:00:00 UTC. Use-o como limite superior exclusivo: created_at >= yearStart and created_at < nextYearStart.

Por que limites superiores exclusivos são mais seguros

Limites superiores exclusivos evitam bugs de um segundo a mais e de precisão de milissegundos. Eles também funcionam de forma limpa em bancos de dados que armazenam frações de segundo.

Usar o limite de fim de ano

A marca de tempo de fim de ano mais segura é o primeiro instante do ano seguinte, usada como limite superior exclusivo. Ela representa o ponto em que o ano atual para sem depender de o seu armazenamento manter segundos, milissegundos, microssegundos ou nanossegundos. Isso torna o mesmo filtro portável entre logs, APIs e bancos de dados SQL.

  • Use created_at < nextYearStart em vez de created_at <= lastSecondOfYear
  • Use o valor em milissegundos para JavaScript e intervalos de gráficos de frontend
  • Use o valor em segundos para ferramentas Unix e a maioria das colunas de marca de tempo de backend
  • Combine o valor com yearStart ao verificar intervalos anuais completos

Verificar o valor de fim de ano

Converta o valor copiado de volta para UTC e confirme que é 1º de janeiro às 00:00:00 do ano seguinte. Embora as pessoas o chamem de fim de ano, este limite é intencionalmente o primeiro instante após o ano, o que mantém os filtros de banco de dados limpos nas precisões de segundo, milissegundo e microssegundo. Também evita decidir se o último registro armazenado usa 23:59:59, 23:59:59.999 ou um valor fracionário mais fino.