This class methods are designed to work with the SimpleSchedule objects. You can use them, for example, to get a schedule name, to verify if the current time matches with the working time, and return the difference between the two time values.
SimpleSchedule(id, timezoneTitle)
Use this cinstructor to instantiate a new SimpleSchedule object.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
id | String | N | N |
timezoneTitle | String | N | 'UTC' |
Example:
const schedule = new SimpleSchedule('157165292607666710', 'UTC');
duration(startDateTime, endDateTime)
This method determines the time difference in the schedule between two SimpleDateTime values, based on the schedule time zone or, if not specified, the session time zone.
The passed SimpleDateTime value should be in the schedule. For verification, use the isInSchedule(datetime) method.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
startDateTime | SimpleDateTime object | Y | N |
endDateTime | SimpleDateTime | Y | N |
Return:
Type | Description |
---|---|
SimpleDuration | The difference between the two time values. |
Example:
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()); // Info: 1970-01-02 08:00:00
getName()
This method returns the name of the defined schedule.
Return:
Type | Description |
---|---|
String | The schedule name. |
Example:
const schedule = new SimpleSchedule('157165292607666710'); ss.info(schedule.getName()); // Info: 8x5 excluding Russian Holidays
isInSchedule(datetime)
This method checks whether the current schedule includes the given datetime or they do not match.
Excluded schedule segments will also return 'true' within checking by this method.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
datetime | SimpleDateTime | Y | N |
Return:
Type | Description |
---|---|
Boolean | This method returns 'true' if the specified datetime is in schedule; otherwise, it returns 'false'. |
Example:
const nowDatetime = new SimpleDateTime(); const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id ss.info(schedule.isInSchedule(nowDatetime)); // Info: false
isValid()
The method checks if the specified SimpleSchedule object is valid.
The object is considered as invalid when:
- The schedule passed does not exist.
- The schedule does not contain schedule elements of the working type. The example type for elements of such schedule is Time Off or Excluded.
In both cases above, the isValid() method returns 'false'.
Return:
Type | Description |
---|---|
Boolean | This method returns 'true' if the schedule is valid; otherwise, it returns 'false'. |
Example:
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id ss.info(schedule.isValid()); // Info: true
isWorkingTime(datetime)
This method checks whether a provided date and time is a working time or not.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
datetime | SimpleDateTime | Y | N |
Return:
Type | Description |
---|---|
Boolean | This method returns 'true' if provided date and time is a working time; otherwise, it returns 'false'. |
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)
This method initializes a schedule specified with the sys_id.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
sysId | String | Y | N |
timezoneTitle | String (empty string by default) | N | '' |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
const schedule = new SimpleSchedule(); schedule.load('157165292607666710'); // sys_schedule.sys_id
setTimeZone(timezoneTitle)
This method defines which time zone is to be applied to the current schedule.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
timezoneTitle | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id schedule.setTimeZone('US/Central');
whenNext(datetime, timezoneTitle)
This method returns the number of seconds left until the next schedule element starts.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
datetime | SimpleDateTime | Y | N |
timezoneTitle | String | N | '' |
Return:
Type | Description |
---|---|
SimpleDuration | The SimpleDuration object. |
Example:
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)
This method determines the time after working seconds value specified in the finalWorkingSeconds parameter passes.
Please note that finalWorkingSeconds parameter does not support negative values.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
startDate | SimpleDateTime | Y | N |
finalWorkingSeconds | Integer | Y | N |
Return:
Type | Description |
---|---|
SimpleDateTime object or 'null' | This method returns the SimpleDateTime object. |
If the SimpleSchedule class object is not valid (the isValid() method returns 'false' for this object), then the whenWillExpire() method returns 'null' for it.
Example:
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