Дата и время

Конвертер ticksДата без потери последнего разряда

По одному DateTime.Ticks или дате с секундами в строке. Укажите UTC или время без часового пояса.

Конвертер ticks

Ввод

Данные обрабатываются в этом браузере и не отправляются на сервер.

Результаты

Параметры

Только DateTime.Ticks · начало 0001-01-01 · 1 tick = 100 нс.

Неотрицательное целое или YYYY-MM-DDTHH:mm:ss в каждой строке; дробная часть — 1–7 знаков. UTC допускает Z или ±HH:mm; отсутствие суффикса тоже означает UTC. Unspecified запрещает суффиксы.

Число не содержит Kind. Unspecified сохраняет календарные поля без значений Unix. Для Local нужен исходный часовой пояс, который здесь не определяется.

Дата сохраняет семь дробных знаков. Unix-секунды и миллисекунды округляются вниз; неотрицательные остатки указаны в тиках.

До 1000 физических строк и 100000 кодовых единиц UTF-16. Пустые строки отмечаются как ошибки.

Введите данные или загрузите пример.

Конвертер ticks помогает прочитать длинные целые числа из журналов C#. Если два события отличаются долей миллисекунды, обычное отображение времени может скрыть эту разницу. Здесь сохраняются семь дробных знаков секунды.

Проверьте происхождение поля: DateTime считает от первого года, а TimeSpan описывает длительность. Само число не позволяет восстановить Kind или часовой пояс, в котором была создана запись.

Зачем нужен конвертер ticks

Один тик не исчезает при возврате

Конвертер ticks показывает 621355968000000001 как 1970-01-01T00:00:00.0000001Z в режиме UTC. Для обратного преобразования используется полная дата, включая разряд, который не помещается в целые миллисекунды.

Увеличенная мелкая отметка соединена двусторонним путём с календарём и часами.

Неизвестный пояс остаётся неизвестным

Unspecified задаёт поля часов, но не подтверждённый момент времени. Поэтому в результате нет Z и блока Unix. Часовой пояс браузера не подставляется вместо отсутствующих сведений об источнике.

Две одинаковые циферблатные индикации отходят от одного счётчика; только одна связана с глобусом и шкалой времени.

Сначала проверьте смысл исходного поля

01

Уточните свойство источника

UTC подходит для заведомо UTC-значений DateTime.Ticks или UtcTicks. Для DateTimeOffset.Ticks дополнительно нужен Offset. Без него смотрите поля как Unspecified либо вводите дату с известным смещением в обратном направлении.

02

Проверьте крайние значения

Пример содержит минимум, эпоху Unix плюс один тик и максимум. Просмотрите замену и примените её для проверки семи знаков. Отмена восстановит прежние входные данные вместе с отчётом.

03

Управляйте пересчётом

Автоматический режим ждёт 350 мс после правки. Отключите его для кнопки или Ctrl/Cmd + Enter. Обратная подстановка доступна лишь при успехе всех строк; изменение настройки сразу блокирует устаревший экспорт.

Точные даты и построчная проверка

Преобразование в обе стороны

Переводите ticks в дату и обратно без промежуточной арифметики с плавающей точкой. Большие целые экспортируются строками JSON, чтобы следующий обработчик не изменил последние цифры.

Явное смещение к UTC

В режиме UTC дата с +03:00 сначала приводится к UTC, затем вычисляются тики DateTime. Без суффикса применяется выбранная интерпретация, а не текущий часовой пояс компьютера.

Целая часть и остаток

Блок Unix содержит секунды и миллисекунды с отдельными остатками в тиках. Для момента прямо перед 1970 годом целая часть отрицательна: округление идёт к минус бесконечности, а не к нулю.

Соответствие строк сохраняется

Ошибочные строки остаются с исходным текстом и физическим номером. Сначала видны 50 строк, затем можно добавить ещё 50. Копия и файл всегда содержат весь отчёт, включая скрытые строки.

Границы формата и интерпретации

Одна эпоха и единица
Григорианское начало 0001-01-01, шаг 100 нс. Нет декодирования FILETIME, WebKit, Excel, TimeSpan, Stopwatch, Environment.TickCount, rowversion или DateTime.ToBinary. Формат не угадывается по количеству цифр.
Диапазон DateTime
Разрешены 0–3155378975999999999 ticks и четырёхзначные годы 0001–9999. После применения смещения дата UTC тоже должна оставаться в этих пределах, даже если введённые календарные поля были допустимы.
Строгая запись даты
YYYY-MM-DDTHH:mm:ss допускает один пробел вместо T, 1–7 дробных знаков и необязательные Z или ±HH:mm. Несуществующие даты, високосная секунда, 24:00, отсутствие секунд и лишние знаки отклоняются. Пробелы не удаляются, значения не округляются.
Kind не восстанавливается
Смещение UTC ограничено ±14:00; неизвестное -00:00 запрещено. Unspecified не принимает даже Z. Переключение меняет трактовку полей, но не переводит Local и не определяет зону IANA или переходы на летнее время.
Ограничения пакета
До 1 000 физических строк и 100 000 кодовых единиц UTF-16. Пустая строка после последнего перевода строки тоже считается ошибкой. При превышении отклоняется весь пакет. Нет файлов, загрузки URL, календарной арифметики или текущих часов.
Контроль замены
Пример, очистка и обратная подстановка сначала показывают новый текст и его размер. После применения доступна одна отмена с восстановлением настроек и результатов. Ошибки не пропускаются, округлённые Unix-миллисекунды не используются для возврата.

Конвертер ticks: частые вопросы

Как преобразовать ticks в дату?

Выберите Ticks → дата и укажите интерпретацию. В C# new DateTime(ticks) создаёт календарные поля с Kind.Unspecified. Для подтверждённых UTC-значений используйте конструктор с DateTimeKind.Utc.

Почему DateTime.Ticks зависит от часового пояса?

Ticks отражает показания часов, а Kind определяет их смысл. DateTime.Now и ToUniversalTime() могут обозначать один момент разными числами. Сохранение только Ticks не сохраняет признак Kind.

Как получить миллисекунды из ticks?

В миллисекунде 10 000 тиков. Простое деление считает от первого года. Для Unix-миллисекунд в UTC сначала вычтите 621355968000000000. Сохраните остаток, если важна часть меньше миллисекунды.

Можно ли записать DateTime.Now.Ticks в int без потери точности?

Современная дата не помещается в 32-битный int. Используйте long в .NET и строки при обмене через JSON-обработчики с плавающей точкой. Хранение разности от выбранной базы требует заранее ограниченного диапазона.

Почему DateTime использует тики, а не миллисекунды?

Шаг 100 нс позволяет представить более мелкие доли секунды в 64-битном значении. Это не означает, что системные часы измеряют новый момент каждые 100 нс: точность представления и разрешение измерения различаются.

Неожиданный результат?

Проверьте известную дату

Конвертер ticks позволяет сопоставить известную дату с исходным целым числом. Сохраните полный отчёт с выбранной интерпретацией для проверки журнала.