1

Тема: Функции, которых не хватает

Здравствуйте, есть ли в Формате какие-нибудь функции преобразования даты и времени в текст. Ну или выдергивания часов, минут и т.д?

2

Re: Функции, которых не хватает

Здравствуйте.
Можно использовать операторы вычислительных узлов time и ltime. Посмотрите вычислительный узел в демонстрационном проекте Clock. Ссылка на его загрузку находится в САПР в окне Начальная страница.
Операторы time и ltime возвращают:

1.    секунды от начала минуты - [0,59]
2.    минуты от начала часа - [0,59]
3.    часы от полуночи - [0,23]
4.    число месяца - [1,31]
5.    месяц в году - [1,12]
6.    год
7.    день недели с воскресенья - [1,7]
8.    день в году - [1,366]
9.    признак летнего времени

Все возвращаемые данные имеют тип int.

3

Re: Функции, которых не хватает

Операторы time и ltime я видел, проблема в том что мне надо не текущее время, а то что придет в качестве входного параметра

Бороденко Олег пишет:

Здравствуйте.
Можно использовать операторы вычислительных узлов time и ltime. Посмотрите вычислительный узел в демонстрационном проекте Clock. Ссылка на его загрузку находится в САПР в окне Начальная страница.
Операторы time и ltime возвращают:

1.    секунды от начала минуты - [0,59]
2.    минуты от начала часа - [0,59]
3.    часы от полуночи - [0,23]
4.    число месяца - [1,31]
5.    месяц в году - [1,12]
6.    год
7.    день недели с воскресенья - [1,7]
8.    день в году - [1,366]
9.    признак летнего времени

Все возвращаемые данные имеют тип int.

4

Re: Функции, которых не хватает

Уточните, пожалуйста, что конкретно Вам нужно, о каком входном параметре идёт речь?

5

Re: Функции, которых не хватает

На вход подается переменная типа float, в которой записано значение даты/времени

Бороденко Олег пишет:

Уточните, пожалуйста, что конкретно Вам нужно, о каком входном параметре идёт речь?

6

Re: Функции, которых не хватает

Встроенных функций для преобразования даты/времени в строку в САПР нет. Делать это придётся своими силами, выделить из входной величины число секунд, минут и т.д. и отформатировать этим строку. Например, преобразование миллисекунд в часы:минуты:секунды:миллисекунды будет выглядеть так:

format(        /* время t задано в мс */
    "%dhour : %dmin : %dsec : %dms",
    (t % 86400000)/3600000,
    (t % 3600000)/60000,
    (t % 60000)/1000,
    t % 1000
)

Можно заключить это в функцию вычисления, возвращать из неё значение типа string, и использовать в этом и других проектах любое число раз.