Функции преобразования даты и времени#

1. Текущая дата и время в миллисекундах (getCurrentTimeMillis)#

Функция возвращает текущее значение UnixTime в миллисекундах.

Варианты написания функции:

  • getCurrentTimeMillis;

  • GetCurrentTimeMillis.

Синтаксис#

getCurrentTimeMillis()
GetCurrentTimeMillis()

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

текущая дата 08.05.2024 и время: 10:28

OUT.task = getCurrentTimeMillis()

{«task»:1715149716655}

2. Текущая дата и время в заданном формате (getCurrentTimeFromFormat)#

Функция возвращает текущее значение UnixTime в заданном формате.

Варианты написания функции:

  • getCurrentTimeFromFormat;

  • GetCurrentTimeFromFormat.

Синтаксис#

getCurrentTimeFromFormat("yyyy-MM-dd'T'HH:mm:ss")

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

текущее дата и время: 8 мая 2024 года, 10:29

OUT.task = getCurrentTimeFromFormat(«yyyy-MM-dd’T’HH:mm:ss»)

{«task»:»2024-05-08T10:29:43»}

3. Преобразование даты и времени в миллисекунды (getTimeMillisFromDateTime)#

Функция конвертирует строки с датой и временем в заданном формате в значение UnixTime в миллисекундах.

Варианты написания функции:

  • getTimeMillisFromDateTime;

  • GetTimeMillisFromDateTime.

Синтаксис#

getTimeMillisFromDateTime("yyyy-MM-dd'T'HH:mm:ss", IN.root.dateTime)

Аргументы#

  1. Формат даты и времени.

  2. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «2024-03-08T21:08:39»
}

OUT.task = getTimeMillisFromDateTime(«yyyy-MM-dd’T’HH:mm:ss», IN.a)

{«task»:1709917719000}

4. Преобразование миллисекунд в дату и время (getDateTimeFromTimeMillis)#

Функция конвертирует значение UnixTime в миллисекундах в строковое значение с датой и временем в заданном формате.

Варианты написания функции:

  • getDateTimeFromTimeMillis;

  • GetDateTimeFromTimeMillis.

Синтаксис#

getDateTimeFromTimeMillis("yyyy-MM-dd'T'HH:mm:ss", IN.root.timeMillis)
getDateTimeFromTimeMillis("yyyy-MM-dd", IN.root.timeMillis)

Аргументы#

  1. Формат даты и времени.

  2. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «1909917019000»
}

OUT.task = getDateTimeFromTimeMillis(«yyyy-MM-dd’T’HH:mm:ss», IN.a)

{«task»:»2030-07-10T16:30:19»}

5. Преобразование даты и времени (convertDateTime)#

Функция конвертации строки с датой и временем в формате oldFormat в строку с датой и временем в формате newFormat.

Варианты написания функции:

  • convert;

  • Convert.

Конвертация строки может быть в формате:

  • даты и времени (DateTime);

  • даты (Date);

  • времени (Time).

Синтаксис#

convertDateTime("yyyy-MM-dd'T'HH:mm:ss", "yyyy-MM-dd'T'HH", IN.root.dateTime)
convertDate("yyyy-MM-dd", "yyyy MM dd", IN.root.date)
convertTime("HH:mm:ss", "HH/mm/ss", IN.root.time)

Аргументы#

  1. oldFormat — текущий формат даты и времени.

  2. newFormat — новый формат даты и времени.

  3. Адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «2024-03-08T21:08:39»
}

OUT.task = convertDateTime(«yyyy-MM-dd’T’HH:mm:ss», «yyyy-MM-dd’T’HH», IN.a)

{«task»:»2024-03-08T21»}

{
»a»: «2024-03-08T21:08:39»
}

OUT.task = convertDate(«yyyy-MM-dd», «yyyy MM dd», IN.a)

{«task»:»2024 03 08»}

6. Сравнение даты и времени (compare)#

Варианты написания функции:

  • compare.

Сравнение может быть в формате:

  • даты и времени (DateTime);

  • даты (Date);

  • времени (Time).

Виды сравнения:

  • равенство (Equal);

  • меньше (Less);

  • меньше, либо равно (LessOrEqual);

  • больше (More);

  • больше, либо равно (MoreOrEqual).

Сравнение производится с точностью («Round») до:

  • миллисекунд, без суффикса;

  • секунд (RoundSecond);

  • минут (RoundMinute);

  • часов (RoundHour);

  • дней (RoundDay);

  • месяца (RoundMonth);

  • года (RoundYear).

Равенство (Equal)#

Функция сравнения двух дат и времени dateTime1 и dateTime2 в формате format. Возвращает результат истина если дата первого операнда наступает раньше второго операнда, в противном случае ложь.

Синтаксис#

Сравнение по дате и времени («DateTime»):

compareDateTimeEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по дате («Date»):

compareDateEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по времени («Time»):

compareTimeEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Аргументы#

  1. format — формат даты и времени.

  2. dateTime1 — адрес элемента входящего сообщения, переменная окружения, переменная.

  3. dateTime2 — адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task1 = compareDateTimeEqual(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task1»:false}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task2 = compareDateTimeEqualRoundDay(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task2»:true}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task3 = compareTimeEqual(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task3»:false}

Меньше (Less)#

Функция сравнения двух дат и времени dateTime1 и dateTime2 в формате format. Возвращает результат истина если дата первого операнда наступает раньше второго операнда, в противном случае ложь.

Синтаксис#

Сравнение по дате и времени («DateTime»):

compareDateTimeLess("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по дате («Date»):

compareDateLess("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по времени («Time»):

compareTimeLess("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Аргументы#

  1. format — формат даты и времени.

  2. dateTime1 — адрес элемента входящего сообщения, переменная окружения, переменная.

  3. dateTime2 — адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task1 = compareDateTimeLessRoundMinute(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:56:40.350»)

{«task1»:false}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task2 = compareTimeLessRoundHour(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2021T16:51:40.350»)

{«task2»:false}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task3 = compareDateLessRoundYear(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2021T16:51:40.350»)

{«task3»:true}

Меньше, либо равно (LessOrEqual)#

Функция сравнения двух дат и времени dateTime1 и dateTime2 в формате format. Возвращает результат истина если дата первого операнда наступает раньше второго операнда или равна ему, в противном случае ложь.

Синтаксис#

Сравнение по дате и времени («DateTime»):

compareDateTimeLessOrEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessOrEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessOrEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessOrEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessOrEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessOrEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeLessOrEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по дате («Date»):

compareDateLessOrEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessOrEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessOrEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessOrEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessOrEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessOrEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateLessOrEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по времени («Time»):

compareTimeLessOrEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessOrEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessOrEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessOrEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessOrEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessOrEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeLessOrEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Аргументы#

  1. format — формат даты и времени.

  2. dateTime1 — адрес элемента входящего сообщения, переменная окружения, переменная.

  3. dateTime2 — адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task1 = compareDateTimeLessOrEqual(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T17:51:40.350»)

{«task1»:true}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task2 = compareTimeLessOrEqualRoundDay(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task2»:true}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task3 = compareDateLessOrEqualRoundMinute(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «15.03.2020T16:51:40.350»)

{«task3»:false}

Больше (More)#

Функция сравнения двух дат и времени dateTime1 и dateTime2 в формате format. Возвращает результат истина если дата первого операнда наступает позже второго операнда, в противном случае ложь.

Синтаксис#

Сравнение по дате и времени («DateTime»):

compareDateTimeMore("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по дате («Date»):

compareDateMore("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по времени («Time»):

compareTimeMore("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Аргументы#

  1. format — формат даты и времени.

  2. dateTime1 — адрес элемента входящего сообщения, переменная окружения, переменная.

  3. dateTime2 — адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task1 = compareDateMoreRoundMonth(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task1»:false}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task2 = compareTimeMore(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task2»:true}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task3 = compareDateTimeMoreRoundMonth(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.02.2020T16:51:40.350»)

{«task3»:true}

Больше, либо равно (MoreOrEqual)#

Функция сравнения двух дат и времени dateTime1 и dateTime2 в формате format. Возвращает результат истина если дата первого операнда наступает позже второго операнда или равна ему, в противном случае ложь.

Синтаксис#

Сравнение по дате и времени («DateTime»):

compareDateTimeMoreOrEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreOrEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreOrEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreOrEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreOrEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreOrEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateTimeMoreOrEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по дате («Date»):

compareDateMoreOrEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreOrEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreOrEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreOrEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreOrEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreOrEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareDateMoreOrEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Сравнение по времени («Time»):

compareTimeMoreOrEqual("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreOrEqualRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreOrEqualRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreOrEqualRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreOrEqualRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreOrEqualRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
compareTimeMoreOrEqualRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Аргументы#

  1. format — формат даты и времени.

  2. dateTime1 — адрес элемента входящего сообщения, переменная окружения, переменная.

  3. dateTime2 — адрес элемента входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task1 = compareDateTimeMoreOrEqualRoundMinute(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task1»:true}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task2 = compareDateMoreOrEqualRoundYear(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2022T16:51:40.350»)

{«task2»:false}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task3 = compareTimeMoreOrEqualRoundMinute(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T17:41:40.350»)

{«task3»:true}

7. Подсчет интервала времени (intervalDateTime)#

Функция вычисления интервала времени между двумя операндами dateTime1 и dateTime2 в формате format. Если второй операнд наступает раньше первого, то результат функции будет отрицательным.

Варианты написания функции:

  • intervalDateTime.

Единицы измерения результата («Round»):

  • миллисекунды, без суффикса;

  • секунды (RoundSecond);

  • минуты (RoundMinute);

  • часы (RoundHour);

  • дни (RoundDay);

  • месяцы (RoundMonth);

  • годы (RoundYear).

Синтаксис#

intervalDateTime("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
intervalDateTimeRoundSecond("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
intervalDateTimeRoundMinute("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
intervalDateTimeRoundHour("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
intervalDateTimeRoundDay("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
intervalDateTimeRoundMonth("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")
intervalDateTimeRoundYear("dd.MM.yyyy'T'HH:mm:ss.SSS", in.root.testDate, "16.03.2020T16:51:40.350")

Аргументы#

  1. format — формат даты и времени.

  2. dateTime1 — начало интервала, адрес элемента входящего сообщения, переменная окружения, переменная.

  3. dateTime2 — конец интервала, входящего сообщения, переменная окружения, переменная.

Примеры использования функции#

Входящее сообщение

Правило трансформации

Выходящее сообщение

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task1 = intervalDateTime(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task1»:-3600000}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task2 = intervalDateTimeRoundHour(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T22:51:40.350»)

{«task2»:5}

{
»a»: «16.03.2020T17:51:40.350»
}

OUT.task3 = intervalDateTimeRoundYear(«dd.MM.yyyy’T’HH:mm:ss.SSS», in.a, «16.03.2020T16:51:40.350»)

{«task3»:0}