Unix timestamp: секунды или миллисекунды
Epoch в секундах (10 цифр) против миллисекунд (13 цифр). Путаница сдвигает дату в 1000 раз.
Unix time это секунды с 1970-01-01 UTC. Date.now() в JS это миллисекунды, поэтому в браузерах 13 цифр. 10 цифр почти наверняка секунды.
13 цифр как секунды уносят в 50-й век. 10 цифр как миллисекунды оставляют в 1970. Конвертер принимает оба, если выбрать единицу.
ISO 8601 снимает спор, если системы умеют строку. Epoch только когда API хочет число. Високосные секунды Unix игнорирует; гражданские часы живут по TZ.
Десять цифр около 1700000000 — секунды. Тринадцать цифр около 1700000000000 — миллисекунды. Перепутать их — и дата прыгает примерно на тридцать лет или падает в 1970-й. API расходятся: часть полей JSON — секунды, Date.now() — миллисекунды. Здесь этот раскол. Конвертер смотрит на длину и всё равно даёт переключить вручную.
| Признак | Секунды | Миллисекунды |
|---|---|---|
| Цифр (этот век) | Около 10 | Около 13 |
| JS Date.now() | Нет | Да |
| Если перепутать | Дата уедет в 1970 | Дата уедет в 50-й век |
Частые вопросы
Как отличить?
По цифрам. Около 10 это секунды, около 13 миллисекунды, для дат этого века.
Единица Date.now()?
Миллисекунды.
