Числовое время судовой записи: как не перепутать секунды, миллисекунды и начало отсчёта
Большое число в поле времени может выглядеть знакомым, но его смысл нельзя надёжно определить по количеству цифр. Требуются единица, начало отсчёта и согласованная шкала. Ошибка одного из этих условий способна перенести запись на другой момент без повреждения самих цифр. При подготовке судового обмена полезно описывать числовое время полностью и проверять преобразование на контрольных примерах. Статья не задаёт формат конкретного прибора и не изменяет действительные серверные отметки.
Зафиксировать исходный формат
Для поля определяют назначение: момент измерения, момент получения, длительность либо другой согласованный показатель. Эти величины нельзя объединять одним преобразованием. Число, обозначающее длительность работы, не становится календарным временем только потому, что его передали в поле с названием time.
Описание числовой отметки включает единицу и исходную точку. Отдельно сохраняют шкалу и правила представления, если они значимы для конкретного источника. Нельзя автоматически считать любое числовое время известным стандартным форматом или местным временем судна. Недостающую информацию уточняют у действительного источника, не угадывая по правдоподобной дате.
Сравнить секунды и миллисекунды на одной основе
В синтетическом примере обе записи отсчитываются от одной условной точки Т0. Одна использует секунды, другая — миллисекунды. Значения 45 секунд и 45 000 миллисекунд обозначают одинаковое смещение. Это арифметическое равенство не подтверждает точность часов или фактическую одновременность двух реальных источников.
Если число 45 000 ошибочно прочитать как секунды, вместо сорока пяти секунд получится двенадцать часов тридцать минут. Такое преобразование может быть технически выполнено без ошибки чтения файла. Поэтому успешное открытие записи не означает правильного смысла времени. Проверять нужно результат по заранее известному контрольному условию.
Проверить начало отсчёта отдельно
Теперь предположим, что условная точка Т1 находится на шестьдесят секунд позже Т0. Запись «сорок пять секунд после Т1» соответствует ста пяти секундам после Т0. Число 45 остаётся тем же, но момент отличается от записи, использующей Т0. Пример не выбирает реальную календарную эпоху и не описывает стандарт какого-либо изготовителя.
Обратная задача также требует явного основания: один известный момент может иметь разные числовые представления при разных началах отсчёта. Поэтому умножение или деление на тысячу не исправляет автоматически неизвестную эпоху. Все условия преобразования сохраняют вместе с версией обработки, а не только в памяти одного исполнителя.
Не смешивать точность представления и наблюдения
Наличие миллисекунд в числе не означает, что источник измеряет время с миллисекундной точностью. Дополнительные цифры могут появиться при преобразовании целых секунд. И наоборот, округление представления способно скрыть различие близких событий. Существенные свойства источника и выбранное округление подтверждают раздельно.
Ноль в числовом формате может обозначать саму исходную точку, если так определена запись. Он не является универсальным кодом отсутствия данных. Для недоступности нужно предусмотренное состояние. Неизвестное число нельзя превращать в определённую дату или нулевую длительность только ради заполнения пустого поля отчёта.
Сохранить исходник и проверить весь путь
В рабочем комплекте хранят исходное число, описание формата и производное представление с понятной связью. Реальные серверные отметки и действительные календари не переписывают ради удобного отображения. Для человека можно показывать согласованный местный вид, сохраняя исходную шкалу и правила преобразования отдельно.
Контрольные случаи включают один известный момент, разные единицы, другую исходную точку, ноль и недоступность. Проверку выполняют на синтетических или разрешённых данных без изменения живых часов. Итог позволяет понять, почему получатель показал конкретное время и какие свойства ещё неизвестны. Он не заменяет синхронизацию часов и не доказывает правильность любого другого источника с похожим количеством цифр.
