TIME_TO_LOCAL - преобразование времени из UTC

Назначение.
Функциональный блок TIME_TOLOCAL применяется для преобразования времени из формата UTC в отдельные значения времени и даты. В отличие от блока TIME_TO в настоящем блоке дополнительно выводится количество дней с начала года, месяца и недели.
Состав структурной переменной.
Переменная со структурным типом TIME_TO_LOCAL будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Выходы FROM_UTC и ISDST в настоящее время не используются.
Описание алгоритма.
В блоке TIME_TO_LOCAL значения входных параметров UTC_MSEC (время в формате UTC) и TZ (номер часового пояса) преобразуются в отдельные значения дат и времени, указанные в составе структурной переменной.
В Unimod PRO 2 время в формате UTC представлено в виде вещественного числа двойной точности, которое соответствует числу миллисекунд, прошедших с полуночи 01 января 1970 года (часовой пояс UTC+0).
Например, число "1711021435000.000000000000000" в формате UTC соответствует времени - 14 часов 43 минуты 55 секунд 00 миллисекунд 21 марта 2024 года с часовым поясом UTC+3.
|
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.TIME_TO_LOCAL(1711021435000.0, 3);
//чтение параметров даты
YEAR := Block.YEAR; //2024 год
MON := Block.MON; //3 месяц
YDAY := Block.YDAY; //81 день с начала года
MDAY := Block.MDAY; //21 день с начала месяца
WDAY := Block.WDAY; //4 дня с начала недели
//чтение параметров времени
HOUR := Block.HOUR; //14 часов
MIN := Block.MIN; //43 минуты
SEC := Block.SEC; //55 секунд
MSEC := Block.MSEC; //0 миллисекунд
|
