1830297600 is a Unix timestamp in seconds. It represents 2028-01-01T00:00:00Z.
The same instant in milliseconds
JavaScript Date expects milliseconds, so the equivalent value is 1830297600000.
const seconds = 1830297600;
const date = new Date(seconds * 1000);
console.log(date.toISOString());
// 2028-01-01T00:00:00.000Z
The common wrong-unit result
Passing 1830297600 directly to new Date() treats it as milliseconds and produces 1970-01-22T04:24:57.600Z. 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, compute 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 1830297600?
- A: 1830297600 in Unix seconds is 2028-01-01T00:00:00.000Z — Saturday, January 1, 2028 at 24:00:00 UTC.
- Q: What is 1830297600 in milliseconds?
- A: 1830297600000 milliseconds is the same instant — the form JavaScript Date and Java Instant expect.
- Q: Why does new Date(1830297600) show 1970?
- A: JavaScript Date takes milliseconds. The seconds value treated as milliseconds points to early 1970. Use new Date(1830297600 * 1000) instead.
- Q: How do I convert 1830297600 in shell?
- A: Linux: date -u -d @1830297600. macOS: date -u -r 1830297600. Both return the UTC date.