Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Методы этого класса предназначены для работы с объектами SimpleSchedule, например, для получения названия календаря, определения соответствия текущего и рабочего времени и возврата разницы между этими двумя значениями.

SimpleSchedule(id, timezoneTitle)


Используйте этот конструктор для создания нового объекта SimpleSchedule.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
idStringНетНет
timezoneTitleStringНет'UTC'

Пример:

Code Block
languagejs
themeEclipse
titleSimpleSchedule
linenumberstrue
const schedule = new SimpleSchedule('157165292607666710', 'UTC');

duration(startDateTime, endDateTime)


Используйте этот метод, чтобы определить разницу во времени по календарю между значениями startDateTime и endDateTime на основе часового пояса календаря или, если не указано, часового пояса сессии.

Note

Передаваемое значение datetime должно быть в календаре. Чтобы это проверить, используйте метод isInSchedule(datetime).

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
startDateTimeSimpleDateTime objectДаНет
endDateTimeSimpleDateTime objectДаНет

Возвращаемое значение:

ТипОписание
SimpleDurationРазница между двумя значениями времени.

Пример:

Code Block
languagejs
titleduration()
const startDatetime = new SimpleDateTime('2022-01-25 08:00:00');
const endDatetime = new SimpleDateTime('2022-01-29 08:00:00');
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
const duration = schedule.duration(startDatetime, endDatetime);
ss.info(duration.getValue()); // Информация: 1970-01-02 08:00:00

getName()


Используйте этот метод, чтобы получить название определенного календаря.

Возвращаемое значение:

ТипОписание
StringНазвание календаря.

Пример:

Code Block
languagejs
titlegetName()
const schedule = new SimpleSchedule('157165292607666710');
ss.info(schedule.getName()); // Информация: 8x5 не включая государственные праздники РФ

isInSchedule(datetime)


Используйте этот метод, чтобы проверить, включает ли текущий календарь указанный параметр datetime.

Info

Исключенные сегменты календаря возвращают значение true при проверке этим методом.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
datetimeSimpleDateTimeДаНет

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает true, если указанное в параметре datetime значение находится в календаре; если значение отсутствует, метод возвращает false.

Пример:

Code Block
languagejs
titleisInSchedule()
const nowDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isInSchedule(nowDatetime)); // Информация: false

isValid()


Используйте этот метод, чтобы проверить действительность указанного календаря.

Info

Календарь считается недействительным, когда:

  1. Переданный календарь не существует.
  2. Календарь не содержит элементов календаря рабочего типа, например Исключая или Отгул.

В обоих случаях, указанных выше, метод isValid() возвращает значение false.

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает значение true, если календарь действителен, если нет, метод возвращает значение false.

Пример:

Code Block
languagejs
titleisValid()
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isValid()); // Информация: true

isWorkingTime(datetime)


Используйте этот метод, чтобы определить, является ли указанные время и дата рабочими.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
datetimeSimpleDateTimeДаНет

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает значение true, если указанные дата и время являются рабочим временем, в противном случае метод возвращает значение false.

Пример:

Code Block
languagejs
themeEclipse
titleisWorkingTime()
linenumberstrue
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
const firstDatetime = new SimpleDateTime('2020-12-15 05:59:59');
const secondDatetime = new SimpleDateTime('2020-12-15 06:00:00');
ss.info(schedule.isWorkingTime(firstDatetime)); // Информация: false
ss.info(schedule.isWorkingTime(secondDatetime)); // Информация: true

load(sysId, timezoneTitle)


Используйте этот метод для инициализации календаря по указанному sys_id с учётом часового пояса.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
sysIdStringДаНет
timezoneTitleString НетUTC

Возвращаемое значение:

ТипОписание
VoidЭтот метод не возвращает значение.

Пример:

Code Block
languagejs
themeEclipse
titleload()
linenumberstrue
const schedule = new SimpleSchedule();
schedule.load('157165292607666710'); // sys_schedule.sys_id

setTimeZone(timezoneTitle)


Используйте этот метод, чтобы применить указанный часовой пояс к текущему календарю.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
timezoneTitleStringДаНет

Возвращаемое значение:

ТипОписание
VoidЭтот метод не возвращает значение.

Пример:

Code Block
languagejs
titlesetTimeZone()
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
schedule.setTimeZone('US/Central');

whenNext(datetime, timezoneTitle)


Используйте этот метод, чтобы вернуть оставшееся до начала следующего элемента расписания время в виде объекта SimpleDuration.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
datetimeSimpleDateTimeДаНет
timezoneTitle

String

Нет''

Возвращаемое значение:

ТипОписание
SimpleDuration/nullОбъект SimpleDuration.

Пример:

Code Block
languagejs
themeEclipse
titlewhenNext()
linenumberstrue
const startDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info('Осталось секунд: ' + schedule.whenNext(startDatetime).getDurationSeconds()); // Информация: Осталось секунд: 6052

whenWillExpire(startDateTime, finalWorkingSeconds)


Этот метод рассчитывает дату и время истечения срока, указанного в параметре finalWorkingSeconds в секундах, относительно времени, указанного в startDateTime, с учётом выбранного календаря.

Note

Параметр finalWorkingSeconds не поддерживает отрицательные значения.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
startDate

SimpleDateTime

ДаНет
finalWorkingSecondsIntegerДаНет

Возвращаемое значение:

ТипОписание
Объект SimpleDateTime или nullОбъект SimpleDateTime.


Note

Если объект класса SimpleSchedule не является действительным (метод isValid() возвращает false для этого объекта), метод whenWillExpire() возвращает null.

Пример:

Code Block
languagejs
titlewhenWillExpire()
linenumberstrue
const startDatetime = new SimpleDateTime('2022-01-23 08:00:00');
const finalWorkingSeconds = 5 * 8 * 3600; // длительность 5 рабочих дней в секундах
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info(schedule.whenWillExpire(startDatetime, finalWorkingSeconds).getValue()); // Информация: 2022-01-28 18:30:00


Table of Contents
absoluteUrltrue
classfixedPosition