2145916800 is a Unix timestamp in seconds. It represents 2038-01-01T00:00:00Z.

The same instant in milliseconds

JavaScript Date expects milliseconds, so the equivalent value is 2145916800000.

const seconds = 2145916800;
const date = new Date(seconds * 1000);

console.log(date.toISOString());
// 2038-01-01T00:00:00.000Z

The common wrong-unit result

Passing 2145916800 directly to new Date() treats it as milliseconds and produces 1970-01-25T20:05:16.800Z. That date is not a parsing mystery; it is a seconds-versus-milliseconds mismatch.

Use it in a range query

A single timestamp is useful for a fixture or known event. For a date range, calculate the start and next boundary in the intended timezone, then use a half-open comparison: greater than or equal to the start and less than the next start.

Frequent questions:

Q: What date is Unix timestamp 2145916800?
A: 2145916800 in Unix seconds is 2038-01-01T00:00:00.000Z — Friday, January 1, 2038 at 24:00:00 UTC.
Q: What is 2145916800 in milliseconds?
A: 2145916800000 milliseconds is the same instant — the form JavaScript Date and Java Instant expect.
Q: Why does new Date(2145916800) show 1970?
A: JavaScript Date takes milliseconds. The seconds value treated as milliseconds points to early 1970. Use new Date(2145916800 * 1000) instead.
Q: How do I convert 2145916800 in shell?
A: Linux: date -u -d @2145916800. macOS: date -u -r 2145916800. Both return the UTC date.