Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

TIME_TO_UNIX - преобразование из UTC в UNIX


Назначение.
Функция TIME_TO_UNIX() преобразовывает время из формата UTC в UNIX.
 
Входной параметр.
  • in1 - тип данных DOUBLE (время в формате UTC).
     
Выходной параметр.
  • out - тип данных INTEGER (время в формате UNIX).
 
Описание алгоритма.
В Unimod PRO 2 время в формате UTC представлено в виде вещественного числа двойной точности, которое соответствует числу МИЛЛИСЕКУНД, прошедших с полуночи 01 января 1970 года (часовой пояс UTC+0). Например, число "1711021435000.000000000000000" в формате UTC соответствует времени - 14 часов 43 минуты 55 секунд 00 миллисекунд 21 марта 2024 года с часовым поясом UTC+3.
А время в формате UNIX соответствует числу СЕКУНД, прошедших с полуночи 01 января 1970 года (часовой пояс UTC+0).
Функция TIME_TO_UNIX() удаляет из времени в формате UTC разряды для миллисекунд и выводит время в формате UNIX.
Для получения времени в формате UTC можно использовать функциональные блоки TIME_GET или TIME_FROM.
 
Описание синтаксиса на языке ST.
Синтаксис
out := TIME_TO_UNIX(in1)
Примеры
TIME_GET_1.TIME_GET();           //вызов блока TIME_GET
utc:=TIME_GET_1.UTC_MSEC;  //чтение времени в UTC
out := TIME_TO_UNIX(utc);     //перевод времени в UNIX
//вызов блока TIME_FROM с входными параметрами
TIME_FROM_1.TIME_FROM(21, 3, 2024, 14, 43. 55, 0, 3);
//чтение времени в UTC, utc = 1711021435000.0
utc:=TIME_FROM_1.UTC_MSEC; 
//перевод времени в UNIX, out = 1711021435
out := TIME_TO_UNIX(utc);
 
Описание синтаксиса на языках FBD/LD.
Изображение блока
Примеры