Страница 1 из 1

Произвольное округление даты-времени.

СообщениеДобавлено: 24 дек 2013, 15:02
Константин Ефремов
Вопрос.
Спайдер считает даты до минут. Как округлить даты начала и окончания, скажем, до 5 минут.

Ответ.
1. Спайдер считает даже не до минут, а до секунд. Их можно увидеть, включив в свойствах колонки формат времени до секунд. Внутри Спайдер хранит даты-время в виде количества секунд от 1.01.1970 0:00:00. Поэтому с датой-временем можно делать любые арифметические операции как с числом секунд.

2. Сами поля Начало и Окончание менять нельзя - вы нарушите длительности как исходную информацию. Да и бесполезно - при следующем расчёте окруление пропадёт.

3. А любые округлённые значения можно получить в пользовательских полях по формуле и включить в свойствах формулы "Автоматически выполнять после расчёта расписания".
Формула для округления до 5 минут может быть такой:
A = Start - Start // 300
Здесь 300 - это число секунд в пяти минутах, оператор "//" - это остаток от деления.
Правда в версиях более ранних, чем 11.01.86 от 4 декабря, для остатка от деления использовался знак "%" (он и сейчас поддерживается для совместимости.)