Timestamps: seconds vs milliseconds (spot and fix it)
Practical guide: digit rule, real examples, timezone, pitfalls, and tips to avoid expensive bugs.
How to use this guide well
These guides are more useful when you read them as operational help, not as filler documentation.
Do not read linearly if you do not need to. Jump to the section that looks closest to the incident, payload, or config you are debugging.
The useful part is usually in the caveat, not in the snippet itself: timezone, dialect, schema, audience, type inference, or portability.
Once the reasoning is clear, use the related tool to inspect the real value, payload, or expression instead of working from memory.
What you will find in this guide
A quick scan before you dive in.
3
1
dates, backend, frontend
Apply this guide in 3 steps
A short workflow tuned to the type of issue this guide covers.
Decide whether the source value is in seconds or milliseconds before reading any formatted date.
Check client, server, logs, and database timestamps side by side so timezone or locale differences become obvious.
Test the exact timestamp that breaks sorting, expiry, scheduling, or auth instead of sampling with a nearby value.
Quick rule
10 digits ≈ seconds, 13 digits ≈ milliseconds. 1970 or year 51382 usually means wrong units.
Real example
Frontend treating seconds as milliseconds.
const expSeconds = 1893456000
new Date(expSeconds) // wrong
new Date(expSeconds * 1000) // correct
Related tools
Use the matching tool when you want to validate or reproduce the issue described in this guide.
Keep exploring this topic
Move between deep guides and shorter task-focused articles so the site works like a connected knowledge base, not a dead end.
Complete guide: real use cases, DB impact, alternatives (UUIDv7/createdAt), pitfalls, and FAQ.
Practical guide: edge cases, realistic formats, consistency, sizes, and a QA/frontend checklist.
Practical guide for query params: encodeURI vs encodeURIComponent, spaces, +, decode errors, real cases.
Snippets to detect unit by length and convert to UTC ISO. Includes timezone notes and common pitfalls (1970 / year 51382).
Practical guide to generate UUID v4 across languages. Includes real snippets, compatibility notes, and dependencies when needed.
Snippets to encode/decode query param values. Includes notes about encodeURI vs encodeURIComponent and application/x-www-form-urlencoded.