Timestamp di fine anno
Trova il timestamp Unix del prossimo confine di anno e copia i comuni valori di intervallo di date per report annuali e script.
Confine di fine anno
Per la maggior parte dei filtri di database, il confine pulito è l'inizio dell'anno successivo alle 00:00:00 UTC. Usalo come limite superiore esclusivo: created_at >= yearStart and created_at < nextYearStart.
Perché i limiti superiori esclusivi sono più sicuri
I limiti superiori esclusivi evitano bug di un secondo di troppo e di precisione al millisecondo. Funzionano anche in modo pulito tra database che memorizzano frazioni di secondo.
Usare il confine di fine anno
Il timestamp di fine anno più sicuro è il primo istante dell'anno successivo, usato come limite superiore esclusivo. Rappresenta il punto in cui l'anno corrente si ferma senza dipendere dal fatto che il tuo storage tenga secondi, millisecondi, microsecondi o nanosecondi. Questo rende lo stesso filtro portabile tra log, API e database SQL.
- Usa created_at < nextYearStart invece di created_at <= lastSecondOfYear
- Usa il valore in millisecondi per JavaScript e gli intervalli dei grafici frontend
- Usa il valore in secondi per gli strumenti Unix e la maggior parte delle colonne timestamp backend
- Abbina il valore a yearStart quando controlli intervalli annuali completi
Verificare il valore di fine anno
Riconverti il valore copiato in UTC e conferma che sia il 1° gennaio alle 00:00:00 dell'anno successivo. Anche se lo si chiama fine anno, questo confine è intenzionalmente il primo istante dopo l'anno, il che mantiene puliti i filtri di database alle precisioni di secondo, millisecondo e microsecondo. Evita anche di decidere se l'ultimo record memorizzato usa 23:59:59, 23:59:59.999 o un valore frazionario più fine.