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.

Multiply 1700000000.123 seconds by 1000 to get 1700000000123 milliseconds, or 2023-11-14 22:13:20.123 UTC.
Original diagram by Tools Hub. Normalize the unit before comparing the UTC date and time. Enlarge diagram

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.

Convert milliseconds

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

  1. Switch to “Date → Timestamp” and read the timezone shown below the input.
  2. Use 2023-11-15 07:13 if the device shows Asia/Tokyo, or 2023-11-14 22:13 if it shows UTC. The example uses zero seconds so it works with a minute-level picker.
  3. Check 1699999980 seconds and 1699999980000 milliseconds. 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.

Convert a local date

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.