This server class provides methods to operate with the SimpleSchedule objects, for example, getting a schedule name, determining if the current time matches with working time, and returning the difference between two time values.
his method instantiates a new SimpleSchedule object.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
id | String | Y | N |
timezoneTitle | String | N | 'UTC' |
Example:
const schedule = new SimpleSchedule('157165292607666710', 'UTC'); |
This method determines the number of seconds in the schedule between two Datetime values, based on the schedule time zone or, if not specified, the session time zone.
Passed dateTime values should be in the schedule. To verify it, use the isInSchedule(datetime) method. |
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
startDateTime | SimpleDateTime | 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 |
This method returns the name of the defined schedule.
Return:
Type | Description |
---|---|
String | A schedule name. |
Example:
const schedule = new SimpleSchedule('157165292607666710'); ss.info(schedule.getName()); // Info: 8x5 excluding Russian Holidays |
This method verifies whether the current schedule includes the given datetime or they do not match.
Excluded schedule segments 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 |
The method verifies if the specified SimpleSchedule object is valid.
The object is considered as invalid when:
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 |
This method checks whether a provided date and time is a working time or not.
Excluded schedule segments 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 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 |
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 |
Use this method to define which time zone to apply 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'); |
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 |
This method determines the time after working seconds value specified in the finalWorkingSeconds parameter passes.
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), 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 |