You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

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

SimpleSchedule(id, timezoneTitle)


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

Параметры:

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

Пример:

SimpleSchedule
const schedule = new SimpleSchedule('157165292607666710', 'UTC');

duration(startDateTime, endDateTime)


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

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

Параметры:

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

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

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

Пример:

duration
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Название календаря.

Пример:

getName
const schedule = new SimpleSchedule('157165292607666710');
ss.info(schedule.getName()); // Info: 8x5 excluding Russian Holidays

isInSchedule(datetime)


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

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

Параметры:

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

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

ТипОписание
BooleanThis method returns true if the specified datetime is in schedule; otherwise, it returns false.

Пример:

isInSchedule
const nowDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isInSchedule(nowDatetime)); // Info: false

isValid()


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

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

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

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

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

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

Пример:

isValid
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isValid()); // Info: true

isWorkingTime(datetime)


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

Параметры:

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

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

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

Пример:

isWorkingTime
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)); // Info: false
ss.info(schedule.isWorkingTime(secondDatetime)); // Info: true

load(sysId, timezoneTitle)


Этот метод запускает календарь, указанный с помощью sys_id.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
sysIdStringДаНет
timezoneTitleString (empty string by default)Нет''

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

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

Пример:

load
const schedule = new SimpleSchedule();
schedule.load('157165292607666710'); // sys_schedule.sys_id

setTimeZone(timezoneTitle)


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

Параметры:

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

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

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

Пример:

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

whenNext(datetime, timezoneTitle)


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

Параметры:

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

String

Нет''

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

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

Пример:

whenNext
const startDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info('Seconds Left: ' + schedule.whenNext(startDatetime).getDurationSeconds()); // Info: Seconds Left: 6052

whenWillExpire(startDateTime, finalWorkingSeconds)


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

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

Параметры:

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

SimpleDateTime

ДаНет
finalWorkingSecondsIntegerДаНет

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

ТипОписание
Объект SimpleDateTime или 'null'Метод возвращает объект SimpleDateTime.

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

Пример:

whenWillExpire
const startDatetime = new SimpleDateTime('2022-01-23 08:00:00');
const finalWorkingSeconds = 5 * 8 * 3600; // duration of 5 eight-hour days in seconds
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info(schedule.whenWillExpire(startDatetime, finalWorkingSeconds).getValue()); // Info: 2022-01-28 18:30:00

  • No labels