Конвертер форматов даты — как переводить между DD.MM.YYYY, ISO 8601 и Unix timestamp
Формат записи даты — одна из самых частых причин ошибок в программах, недопонимания в документах и проблем с импортом данных. Причина проста: в разных странах и системах приняты разные соглашения, и 03/04/2026 может означать и 3 апреля, и 4 марта — в зависимости от того, кто написал.
Какой формат даты считается общепринятым в Европе
В большинстве европейских стран используется DD.MM.YYYY с точкой: 22.03.2026. Он принят в государственных документах, банках и бухгалтерских программах. При веб-разработке и работе с базами данных рекомендуется ISO 8601 (YYYY-MM-DD) — он однозначен и поддерживается всеми современными СУБД и API.
Почему разработчики используют Unix timestamp
Unix timestamp — число секунд с 1 января 1970 UTC. Это простое целое число, не зависящее от языка, часового пояса и региона. С ним легко делать арифметику: прибавить 86400 — получить завтра, вычесть 3600 — получить час назад. Поэтому timestamp является стандартом в логах, базах данных, кешах, очередях задач и любых системах, где важна точная хронология. JavaScript использует миллисекунды (Date.now()), поэтому timestamp из JS нужно делить на 1000 для получения Unix-секунд.
Автоматическое определение формата даты
Конвертер пытается определить формат автоматически. Логика такова: если первый компонент больше 12 — это день, формат DD/MM или DD.MM. Если первый компонент четырёхзначный — ISO 8601. Если введено большое число без разделителей — Unix timestamp или миллисекунды. Если есть название месяца — определяется язык и позиция дня. В неоднозначных случаях (например 03/04/2026) конвертер покажет предупреждение и предложит уточнить формат вручную.
Распространённые ошибки при работе с форматами дат
Самые частые проблемы: импорт CSV с датами в американском формате в европейские программы (месяц и день меняются местами), Excel, который автоматически преобразует даты по региональным настройкам, API, возвращающие timestamp в миллисекундах вместо секунд, и базы данных с датами, хранящимися как строки без фиксированного формата. Избегайте хранения дат как строк — всегда используйте тип DATE/DATETIME или Unix timestamp в целочисленном поле.