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 objectРазница Метод возвращает разницу между двумя значениями времени.

Пример:

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 objectДаНет

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

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

Пример:

Code Block
languagejs
titleisInSchedule()
linenumberstrue
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()
linenumberstrue
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isValid()); // Информация: true

isWorkingTime(datetime)


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

Параметры:

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

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

ТипОписание
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 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()
linenumberstrue
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
schedule.setTimeZone('US/Central');

whenNext(datetime, timezoneTitle)


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

Параметры:

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

String

Нет''

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

ТипОписание
SimpleDurationobjectSimpleDuration/nullОбъект SimpleDurationМетод возвращает объект SimpleDuration. Метод возвращает null, если календарь недействительный.

Пример:

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 object

ДаНет
finalWorkingSecondsIntegerДаНет

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

ТипОписание
Объект SimpleDateTime или nullobjectМетод возвращает объект Объект 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