Choose seconds or milliseconds from the source field before converting. When comparing logs or checking an API response, use UTC as the common display so that two devices with different local settings can compare the same instant.
For example, 1700000000 seconds is 2023-11-14 22:13:20 UTC and 2023-11-15 07:13:20 in Japan. The local date advances by one day in this example.
Seconds versus milliseconds in real APIs
ECMAScript Date uses milliseconds. Python’s time.time() returns seconds with a fractional part, and Java Instant has separate methods for seconds and milliseconds. Check the source field or API contract before relying on digit count.
| Source or date | Unit | Sample value |
|---|---|---|
JavaScript Date.now() |
ms | 1700000000123 |
Python time.time() |
s, may be fractional | 1700000000.123 |
Java Instant.ofEpochMilli() input |
ms | 1700000000123 |
| 2000-01-01 00:00 UTC | ms, 12 digits | 946684800000 |
Multiply seconds by 1,000 to get milliseconds. 1700000000.123 seconds is 1700000000123 milliseconds. Values before the epoch can be negative. −1 ms is 1969-12-31 23:59:59.999 UTC. Ordinary Unix time does not count leap seconds as separate seconds.
Troubleshoot an unexpected date or missing precision
| Symptom | Likely cause | Action |
|---|---|---|
| 2023 becomes 1970 | Seconds read as ms | Select seconds |
| A 2000 log appears far in the future | 12-digit ms estimated as seconds | Select milliseconds |
| The final 123 seems to disappear | Only whole seconds were compared | Compare milliseconds and fractional UTC |
Auto uses milliseconds at an absolute value of 1 trillion or more, and seconds below that. Select the unit when the source specifies it. Seconds inputs are rounded to the nearest millisecond. Fractional milliseconds are truncated toward zero. The whole seconds output rounds down, including for negative timestamps. Use the millisecond result to preserve subsecond precision.
Try the worked example
Check a 12-digit millisecond value
Enter 946684800000 and select milliseconds. UTC should read 2000-01-01 00:00:00.
Display the same instant in UTC or local time
| Display zone | Offset | 1700000000 seconds |
|---|---|---|
| UTC | +00:00 | 2023-11-14 22:13:20 |
| Asia/Tokyo | +09:00 | 2023-11-15 07:13:20 |
| America/New_York | −05:00 on this date | 2023-11-14 17:13:20 |
The local field follows the device timezone. The Z suffix denotes UTC and +09:00 is an offset used for Japan. For a city with daylight saving, the applicable offset depends on the date. See the timezone guide for city comparisons.
Convert a date back to epoch time
- Switch to “Date → Timestamp” and read the timezone shown below the input.
- Use 2023-11-15 07:13 if the device shows
Asia/Tokyo, or 2023-11-14 22:13 if it showsUTC. The example uses zero seconds so it works with a minute-level picker. - Check
1699999980seconds and1699999980000milliseconds. This is 20 seconds earlier than the first example because the input was set to the start of the minute.
When clocks move back, one local time can occur twice. The input field cannot express an explicit offset, so use the original UTC or offset-bearing record to distinguish the two occurrences.
Try the worked example
Try the reverse conversion
Enter the example date in the device timezone and compare both epoch outputs with the source.
Check the signed 32-bit limit before storing a result
The greatest signed 32-bit integer is 2147483647, corresponding to 2038-01-19 03:14:07 UTC as epoch seconds. To store the following second, check the API type, database column and downstream readers. The date converter and the storage system have separate representable ranges.
UUID v7 carries a Unix millisecond field. If you are reading an integer written in hexadecimal, use the base conversion guide first. Find the three tools in the developer tools category.
Editorial verification
Tools Hub editors checked the specifications, calculated examples and tool’s unit selection on November 9, 2026. The examples use the named timezones. Check the field unit and supported range in your actual API or database.
FAQ
Do 10 digits always mean seconds and 13 digits milliseconds?
These lengths are clues for positive values near the present. 946684800000 milliseconds has 12 digits and means 2000-01-01 00:00:00 UTC. Use the unit defined by the source.
Why does my timestamp convert to 1970?
Reading a recent seconds value as milliseconds puts it close to the epoch. 1700000000 milliseconds means 1970-01-20 16:13:20 UTC. Check the unit before converting again.
Which timezone does the reverse conversion use?
The date input uses the device’s local timezone. For example, Asia/Tokyo means Japan time. Use the source UTC value or explicit offset to resolve repeated times around daylight saving transitions.
Can the converter display dates after 2038?
Yes, within the JavaScript Date range. Signed 32-bit seconds end at 2147483647, so separately check any system that must store or receive dates from 2038-01-19 03:14:08 UTC onward.