Versions Compared

Key

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

The class is used to conduct operations on SimpleDateTime objects, for example, instantiating objects.

You can also use this class to calculate, change formats of the date-time or convert between the formats.

SimpleDateTime(dateTime)


Instantiates Use this constructor to instantiate a new SimpleDateTime object with the current or transferred date/time. Specify the date and time value in the UTC timezone.

Parameter(s):

NameTypeMandatoryDefault Value
dateTimeStringN''


Example:

Code Block
languagejs
themeEclipse
titleSimpleDateTime
linenumberstrue
const nowDateTime = new SimpleDateTime();
//
const registrationDateTime = new SimpleDateTime(record.registration_datetime);
//
const yearStartDateTime = new SimpleDateTime('2019-01-01 00:00:00');
//
const laborDayStart

You can also use the values in relative format for the SimpleDateTime constructor. All formats are available in the Relative Formats article.

Code Block
languagejs
themeEclipse
titleSimpleDateTime
linenumberstrue
const yesterdayDatetime = new SimpleDateTime('2019-05-01yesterday');
ss.info(yesterdayDatetime.getValue());
// Info: 20192022-0502-0128 00:00:00

addDays(days)

  

const tomorrowDatetime = new SimpleDateTime('tomorrow');
ss.info(tomorrowDatetime.getValue());
// Info: 2022-03-02 00:00:00

const yesterdayWorkdayDayStart = new SimpleDateTime('yesterday 06:30');
ss.info(yesterdayWorkdayDayStart.getValue());
// Info: 2022-02-28 06:30:00

const fistDayOfNextMonthStart = new SimpleDateTime('first day of next month 00:00');
ss.info(fistDayOfNextMonthStart.getValue());
// Info: 2022-04-01 00:00:00

const rangeStartDatetime = new SimpleDateTime(`first day of ${monthName}`);
ss.info(rangeStartDatetime .getValue());
// Info: 2022-02-01 00:00:00

const YEAR = 2022;
const MONTH = 2;
const monthDatetime = new SimpleDateTime(`${YEAR}-${String(MONTH).padStart(2, '0')}-02 00:00:00`);
const monthName = monthDatetime.getMonthUTC();
ss.info(monthName);
// Info: February


addDays(days)


This method is used to change the number of days in the current SimpleDateTime object according to the local date and time. The positive value of the This method is used to change the number of days in the current SimpleDateTime object according to the local date and time. The positive value of the parameter adds days to the object, the negative value diminishes the number of days.


Parameter(s):

NameTypeMandatoryDefault Value
daysintegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleaddDays
linenumberstrue
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addDays(3);
ss.info(registrationDateTime.getValue());
//Info: 2019-01-04 08:12:10

addMonths(months)


This method is used to change the number of months in the current SimpleDateTime object according to the local date and time. The positive value of the parameter adds months to the object, the negative value diminishes the number of months.


Parameter(s):

NameTypeMandatoryDefault Value
monthsIntegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleaddMonths
linenumberstrue
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addMonths(-1);
ss.info(registrationDateTime.getValue());
//Info: 2018-12-01 08:12:10

addSeconds(seconds)


This method is used to change the number of seconds in the current SimpleDateTime object according to the local date and time. The positive value of the parameter adds seconds to the object, the negative value diminishes the number of seconds.


Parameter(s):

NameTypeMandatoryDefault Value
secondsIntegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleaddSeconds
linenumberstrue
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addSeconds(3600);
ss.info(registrationDateTime.getValue());
//Info: 2019-01-01 09:12:10

addWeeks(weeks)


This method is used to change the number of weeks in the current SimpleDateTime object according to the local date and time. The positive value of the parameter adds weeks to the object, the negative value diminishes the number of weeks.


Parameter(s):

NameTypeMandatoryDefault Value
weeksIntegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleaddWeeks
linenumberstrue
const registrationDateTime = new SimpleDateTime('2019-01-01 08:12:10');
registrationDateTime.addWeeks(1);
ss.info(registrationDateTime.getValue());
//Info: 2019-01-08 08:12:10

addYears(years)


This method is used to change the number of years in the current SimpleDateTime object according to the local date and time. The positive value of the parameter adds years to the object, the negative value diminishes the number of years.


Parameter(s):

NameTypeMandatoryDefault Value
yearsIntegerYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titleaddYears
linenumberstrue
const contractStartDateTime = new SimpleDateTime('2019-01-01 00:00:00');
contractStartDateTime.addYears(1);
ss.info(contractStartDateTime.getValue());
//Info: 2020-01-01 00:00:00

after(dateTime)


This method allows to compare the date specified by the ‘dateTime‘ parameter with the current date. 

The method returns TRUE, if the current date is after the specified; otherwise returns FALSE.


Parameter(s):

NameTypeMandatoryDefault Value
dateTimeSimpleDateTime objectYN


Return:

TypeDescription
BooleanThe method returns TRUE if the current date is later than the date specified by the parameter; otherwise, returns FALSE.


Example:

Code Block
languagejs
themeEclipse
titleafter
linenumberstrue
const startDateTime = new SimpleDateTime('2018-01-01 07:58:35');
const endDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const isStartLaterThanEndisStartAfterThanEnd = startDateTime.after(endDateTime);
ss.info(isStartLaterThanEndisStartAfterThanEnd);
//Info: false

before(dateTime)


This method allows to compare the date specified by the ‘dateTime‘ parameter with the current date.

The method returns TRUE, if the current date is before the specified; otherwise returns false.


Parameter(s):

NameTypeMandatoryDefault Value
dateTimeSimpleDateTime objectYN


Return:

TypeDescription
BooleanThe method returns TRUE if the current date is earlier than the date specified by the parameter; otherwise, returns FALSE.


Example:

Code Block
languagejs
themeEclipse
titlebefore
linenumberstrue
const startDateTime = new SimpleDateTime('2018-01-01 07:58:35');
const endDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const isStartBeforeEnd = startDateTime.before(endDateTime);
ss.info(isStartBeforeEnd);
//Info: true

compareTo(dateTime)


This method compares two date and time objects to determine whether they are equal and, if not, the method defines which goes after or before the other.


Parameter(s):

NameTypeMandatoryDefault Value
dateTimeSimpleDateTime objectYN


Return:

TypeDescription
0Dates are equal.
1Object's date is after the date specified in the parameter.
-1Object's date is before the date specified in the parameter.


Example::

Code Block
languagejs
themeEclipse
titlecompareTo
linenumberstrue
const begin
Code Block
languagejs
themeEclipse
titlecompareTo
linenumberstrue
const firstDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const secondDateTime = new SimpleDateTime('2019-0104-01 08:15:00');
const thirdDateTimeend = new SimpleDateTime('2019-0105-01 0801:00:00');

ss.info(firstDateTimebegin.compareTo(thirdDateTimeend));   // -1
ss.info(secondDateTimeend.compareTo(thirdDateTimebegin));   // 1
ss.info(firstDateTimebegin.compareTo(secondDateTime));
//Info: 0
//Info: 1
//Info: -1begin)); // 0

equals(dateTime)


This method compares a datetime with an existing value to determine whether they are equal or not.


Parameter(s):

NameTypeMandatoryDefault Value
dateTimeSimpleDateTime object.YN


Return:

TypeDescription
BooleanThis method returns TRUE if the date are equal; otherwise, it returns FALSE.


Example:

Code Block
languagejs
themeEclipse
titleequals
linenumberstrue
const firstDateTime = new SimpleDateTime('2018-01-01 08:00:00');
const secondDateTime = new SimpleDateTime('2018-01-01 08:15:00');
const thirdDateTime = new SimpleDateTime('2018-01-01 08:00:00');

ss.info(firstDateTime.equals(secondDateTime));
ss.info(thirdDateTime.equals(firstDateTime));
//Info: false
//Info: true

getDate()


This method returns the date saved by the SimpleDateTime object in the system time zone.


Return:

TypeDescription
StringThe date in the default timezone.


Example:

Code Block
languagejs
themeEclipse
titlegetDate
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDate());
//Info: 2019-01-01

getDayOfMonthLocalTime()


This method returns the day of the month saved by the SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
IntegerThe day of the month value.


Example:

Code Block
languagejs
themeEclipse
titlegetDaysofMonthsLocalTime
linenumberstrue
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfMonthLocalTime());
//Info: 7

getDayOfMonthUTC()


This method returns the day of the month saved by the SimpleDateTime object in the UTC time zone.


Return:

TypeDescription
IntegerThe day of the month value.


Example:

Code Block
languagejs
themeEclipse
titlegetDaysofMonthsLocalTime
linenumberstrue
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfMonthUTC());
//Info: 7

getDayOfWeekLocalTime()


This method returns the day of the week saved by the SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
StringThe day of week value. Possible values: 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' 


Example:

Code Block
languagejs
themeEclipse
titlegetDayOfWeekLocalTime
linenumberstrue
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfWeekLocalTime()); // Mon

getDayOfWeekUTC()


This method returns the day of the week saved by the SimpleDateTime object in the system time zone.


Return:

TypeDescription
StringThe day of week value.
Possible values: 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' 


Example:

Code Block
languagejs
themeEclipse
titlegetDayOfWeekUTC
linenumberstrue
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfWeekUTC());
//Info: Mon

getDaysInMonthLocalTime()


This method returns the number of days in the month saved by the SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
IntegerThe number of days value.


Example:

Code Block
languagejs
themeEclipse
titlegetDaysInMonthLocalTime
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDaysInMonthLocalTime());
//Info: 31

getDaysInMonthUTC()


This method returns the number of days in the month saved by the SimpleDateTime object in the system time zone.


Return:

TypeDescription
IntegerThe number of days value.


Example:

Code Block
languagejs
themeEclipse
titlegetDaysInMonthUTC
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDaysInMonthUTC());
//Info: 31

getDisplayValue()


This method returns the date and time value in the current user's display format and timezone.


Return:

TypeDescription
StringThe date and time value.


Example:

Code Block
languagejs
themeEclipse
titlegetDisplayValue
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDisplayValue()); // current user's timezone is Europe/Moscow
//Info: 2019-01-01 11:00:00 

getErrorMsg()


This method returns the error message if the SimpleDateTime object was incorrect.


Return:

TypeDescription
StringThe error message.


Example:

Code Block
languagejs
themeEclipse
titlegetErrorMsg
linenumberstrue
const startDateTime = new SimpleDateTime('2019-zz-01 08:00:00');
ss.error(startDateTime.getErrorMsg());
//Error: DateTimeZone::getOffset() expects parameter 1 to be DateTimeInterface, null given

getLocalDate()


This method returns the date saved by the SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
StringThe date in the user's time zone.


Example:

Code Block
languagejs
themeEclipse
titlegetLocalDate
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getLocalDate());
//Info: 2019-01-01

getLocalTime()


This method returns the time saved in a SimpleDateTime object in the current user's time zone .


Return:

TypeDescription
SimpleDateTimeThe time in the user's time zone.


Example:

Code Block
languagejs
themeEclipse
titlegetLocalTime
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const time = startDateTime.getLocalTime();
ss.info( "My local time is " + time.getByFormat('h:i:s'));
//Info: My local time is 02:00:00

getMonthLocalTime()


This method returns the month saved by SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
StringThe value of the month.


Example:

Code Block
languagejs
themeEclipse
titlegetMonthLocalTime
linenumberstrue
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getMonthLocalTime());
//Info: January

getMonthUTC()


This method returns the month saved by SimpleDateTime object in the system time zone.


Return:

TypeDescription
StringThe value of the month.


Example:

Code Block
languagejs
themeEclipse
titlegetMonthUTC
linenumberstrue
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getMonthUTC());
//Info: December

getNumericValue()


This method returns the Unix timestamp, which stores the amount of seconds since January 1, 1970, 00:00:00.


Return:

TypeDescription
IntegerThe Unix timestamp value.


Example:

Code Block
languagejs
themeEclipse
titlegetNumericValue
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getNumericValue());
//Info: 1546329600

getTime()


This method returns a SimpleDateTime object that shows the piece of time of the SimpleDateTime object.


Return:

TypeDescription
SimpleDateTimeThe Unix duration stamp.


Example:

Code Block
languagejs
themeEclipse
titlegetTime
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const time = startDateTime.getTime();
ss.info(time.getByFormat('h:i:s'));
//Info: 11:01:00

getValue()


This method returns the date and time value in the internal format.


Return:

TypeDescription
null | stringThe date and time value in the internal format.


Example:

Code Block
languagejs
themeEclipse
titlegetValue
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getValue()); // 2019-01-01 08:00:00

getWeekOfYearLocalTime()


This method returns the week's number saved by the SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
IntegerThe number of the current week.


Example:

Code Block
languagejs
themeEclipse
titlegetWeekOfYearLocalTime
linenumberstrue
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getWeekOfYearLocalTime());
//Info: 1

getWeekOfYearUTC()


This method returns the number of the week saved by the SimpleDateTime object in the system time zone.


Return:

TypeDescription
IntegerThe number of the current week.


Example:

Code Block
languagejs
themeEclipse
titlegetWeekOfYearUTC
linenumberstrue
const startDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(startDateTime.getWeekOfYearUTC());
//Info: 1

getYearLocalTime()


This method returns the year saved by the SimpleDateTime object in the current user's time zone.


Return:

TypeDescription
IntegerFour-digit year value.


Example:

Code Block
languagejs
themeEclipse
titlegetYearLocalTime
linenumberstrue
const holidayDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(holidayDateTime.getYearLocalTime());
//Info: 2020

getYearUTC()


This method returns the year saved by the SimpleDateTime object in the system time zone.


Return:

TypeDescription
IntegerFour-digit year value.


Example:

Code Block
languagejs
themeEclipse
titlegetYearUTC
linenumberstrue
const holidayDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(holidayDateTime.getYearUTC()); 
//Info: 2019

isValid()


This method allows to determine if a specified value is a valid date and time.


Return:

TypeDescription
BooleanThe method returns TRUE if the value is a valid date and time; otherwise, it returns .


Example:

Code Block
languagejs
themeEclipse
titleisValid
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
startDateTime.setValue("'2011-aa-01 00:00:00"');
ss.info(startDateTime.isValid());
//Info: false

setValue(dateTime)


This method is intended to define the date and time value within the SimpleDateTime object.


Parameter(s):

NameTypeMandatoryDefault Value
dateTimeA string in the UTC timezone and the internal format of YYYY-MM-DD hh:mm:ss.YN
dateTimeA SimpleDateTime object.YN
dateTimeA JavaScript Number. It sets the value of the object using the Number value as milliseconds past January 1, 1970, 00:00:00.YN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

Code Block
languagejs
themeEclipse
titlesetValue
linenumberstrue
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
startDateTime.setValue('2020-01-01 12:00:00');
ss.info(startDateTime.getValue());
//Info: 2020-01-01 12:00:00

subtract(first, second)


This method returns the amount of time between two SimpleDateTime values. Also, it can subtract the amount of time from the current SimpleDateTime objectobject.

Note

Displaying of the final value using the getDisplayValue() method returns it considering the current user' timezone, unlike the getValue() method. It returns data only in UTC timezone.


Parameter(s):

SimpleTime
NameTypeMandatoryDefault Value
first

SimpleDateTime Object

YNfirst

Object

YN
first

Number (milliseconds)

YN
secondSimpleDateTime ObjectNNULLsecondSimpleTime ObjectNNULL
secondNumber (milliseconds)NNULL


Return:

Type
SimpleDuration object


Example:

Code Block
languagejs
themeEclipse
titlesubtract #1
linenumberstrue
const plannedDateTimestartDatetime = new SimpleDateTime(current.actual_end_datetime); // '2019-11-08 20:00:00');
const actualDateTimeendDatetime = new SimpleDateTime(current.planned_end_datetime); // '2019-11-08 20:06:28'

if (actualDateTime.after(plannedDateTime)) {
  const duraction = actualDateTime.subtract(plannedDateTime, actualDateTime); // 388
  if (duraction.getDurationSeconds() > 300) { // more than 5 minutes
    ss.eventQueue('notify.change_manager', current, current.assigned_user.getValue('manager'));
  }
}
Same example without using of the subtract:
);
const diffDuration = new SimpleDateTime().subtract(startDatetime, endDatetime); 
ss.info(diffDuration.getDurationSeconds());
// Info: 388

Same example without using of the subtract:

Code Block
languagejs
themeEclipse
linenumberstrue
const startDatetime = new SimpleDateTime('2019-11-08 20:00:00');
const endDatetime = new SimpleDateTime('2019-11-08 20:06:28');
const diffSeconds = endDatetime.getNumericValue() - startDatetime.getNumericValue(); 
ss.info(diffSeconds);
// Info: 388


Code Block
languagejs
themeEclipse
linenumberstrue
titlesubtract #2
linenumberstrue
const datetimeconst plannedDateTime = new SimpleDateTime(current.actual_end_datetime); // '2019-11-08 20:00:00'
const actualDateTime = new SimpleDateTime(current.planned_end_datetime); // '2019-11-08 20:06:28'
 
if (actualDateTime.after(plannedDateTime)) {
  const duraction = plannedDateTime.getNumericValue() - actualDateTime.getNumericValue(); // 388
  if (duraction > 300) { // more than 5 minutes
    ss.eventQueue('notify.change_manager', current, current.assigned_user.getValue('manager'));
  }
}'2020-08-28 09:00:00');
datetime.subtract(3600);
ss.info(datetime.getValue());
//Info: 2020-08-28 08:00:00

Same example without using of the subtract:

Code Block
languagejs
themeEclipse
titlesubtract #2
linenumberstrue
const datetime = new SimpleDateTime('2020-08-28 09:00:00');
datetime.addSeconds(-3600);
ss.info(datetime.getValue());
//Info: 2020-08-28 08:00:00


Table of Contents
absoluteUrltrue