This class provides methods to conduct operations on SimpleDateTime objects: instantiate objects, calculate, change the date and time formats, or convert between them.

SimpleDateTime(dateTime)


Use this constructor to instantiate a new SimpleDateTime object with the current or transferred date and time. Since the object keeps date and time in the UTC timezone, ensure the data you pass to the object is in UTC, otherwise your results will be invalid.

Parameter(s):

NameTypeMandatoryDefault value
dateTimeStringN''

Example:

SimpleDateTime()
const nowDateTime = new SimpleDateTime();
//
const registrationDateTime = new SimpleDateTime(record.registration_datetime);
//
const yearStartDateTime = new SimpleDateTime('2019-01-01 00:00:00');

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

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

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)


Use this method to change the number of days in the current SimpleDateTime object according to the local date. 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:

addDays()
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)


Use this method to change the number of months in the current SimpleDateTime object according to the current date and time. The positive value of the parameter adds the number of days equal to the number of days in this month to the date, the negative value subtracts the number of days equal to the number of days in the previous month from the date.

Parameter(s):

NameTypeMandatoryDefault value
monthsIntegerYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

addMonths()
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)


Use this method to change the number of seconds in the current SimpleDateTime object according to the local 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:

addSeconds()
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)


Use this method to change the number of weeks in the current SimpleDateTime object according to the local date. 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:

addWeeks()
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)


Use this method to change the number of years in the current SimpleDateTime object according to the local date. 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:

addYears()
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)


Use this method to compare the date specified by the dateTime parameter with the current date. 

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, it returns false.

Example:

after()
const startDateTime = new SimpleDateTime('2018-01-01 07:58:35');
const endDateTime = new SimpleDateTime('2019-01-01 08:00:00');
const isStartAfterThanEnd = startDateTime.after(endDateTime);
ss.info(isStartAfterThanEnd);
//Info: false

before(dateTime)


Use this method to compare the date specified by the dateTime parameter with the current date.

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, it returns false.

Example:

before()
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)


Use this method to compare two date and time objects and determine whether they are equal. If not, the method defines which goes after or before the other.

Parameter(s):

NameTypeMandatoryDefault value
dateTimeSimpleDateTime objectYN

Return:

TypeDescription
0The dates are equal.
1The object's date is after the date specified in the parameter.
-1The object's date is before the date specified in the parameter.

Example:

compareTo()
const begin = new SimpleDateTime('2019-04-01 08:15:00');
const end = new SimpleDateTime('2019-05-01 01:00:00');

ss.info(begin.compareTo(end));   // -1
ss.info(end.compareTo(begin));   // 1
ss.info(begin.compareTo(begin)); // 0

equals(dateTime)


Use this method to compare date and time objects with an existing value to determine whether they are equal.

Parameter(s):

NameTypeMandatoryDefault value
dateTimeSimpleDateTime object.YN

Return:

TypeDescription
BooleanThis method returns true if the date and time objects are equal; otherwise, it returns false.

Example:

equals()
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()


Use this method to return the date saved by the SimpleDateTime object in the UTC timezone.

Return:

TypeDescription
StringThis method returns the date in the UTC timezone.

Example:

getDate()
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDate());
//Info: 2019-01-01

getDayOfMonthLocalTime()


Use this method to return the day of the month saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
IntegerThis method returns the day of the month value.

Example:

getDaysofMonthsLocalTime()
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfMonthLocalTime());
//Info: 7

getDayOfMonthUTC()


Use this method to return the day of the month saved by the SimpleDateTime object in the UTC timezone.

Return:

TypeDescription
IntegerThis method returns the day of the month value.

Example:

getDaysofMonthsLocalTime()
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfMonthUTC());
//Info: 7

getDayOfWeekLocalTime()


Use this method to return the day of the week saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
StringThis method returns the day of week value. Possible values: 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'.

Example:

getDayOfWeekLocalTime()
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfWeekLocalTime()); // Mon

getDayOfWeekUTC()


Use this method to return the day of the week saved by the SimpleDateTime object in the system timezone.

Return:

TypeDescription
StringThis method returns the day of the week value. Possible values: 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'. 

Example:

getDayOfWeekUTC()
const holidayDateTime = new SimpleDateTime('2019-01-07 08:00:00');
ss.info(holidayDateTime.getDayOfWeekUTC());
//Info: Mon

getDaysInMonthLocalTime()


Use this method to return the number of days in the month saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
IntegerThis method returns the number of days in a month.

Example:

getDaysInMonthLocalTime()
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDaysInMonthLocalTime());
//Info: 31

getDaysInMonthUTC()


Use this method to return the number of days in the month saved by the SimpleDateTime object in the system timezone.

Return:

TypeDescription
IntegerThis method returns the number of days value.

Example:

getDaysInMonthUTC()
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getDaysInMonthUTC());
//Info: 31

getDisplayValue()


Use this method to return the date and time value in the current user's display format and timezone.

Return:

TypeDescription
StringThis method returns the date and time value.

Example:

getDisplayValue()
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()


Use this method to return the error message if the SimpleDateTime object is incorrect.

Return:

TypeDescription
StringThis method returns the error message.

Example:

getErrorMsg()
const startDateTime = new SimpleDateTime('2019-zz-01 08:00:00');
ss.error(startDateTime.getErrorMsg());
//Error: The parsed date or time was invalid!

getLocalDate()


Use this method to return the date saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
StringThis method returns the date in the user's timezone.

Example:

getLocalDate()
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getLocalDate());
//Info: 2019-01-01

getLocalTime()


Use this method to return the time saved in a SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
SimpleDateTime objectThis method returns the time in the user's timezone.

Example:

getLocalTime()
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()


Use this method to return the month saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
StringThis method returns the name of the month.

Example:

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

getMonthUTC()


Use this method to return the month saved by SimpleDateTime object in the UTC timezone.

Return:

TypeDescription
StringThis method returns the name of the month.

Example:

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

getNumericValue()


Use this method to return the Unix timestamp that stores the amount of seconds since January 1, 1970, 00:00:00.

Return:

TypeDescription
IntegerThis method returns the Unix timestamp value.

Example:

getNumericValue()
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getNumericValue());
//Info: 1546329600

getTime()


Use this method to return a SimpleDateTime object that shows the time value of the SimpleDateTime object.

Return:

TypeDescription
SimpleDateTime objectThis method returns the Unix duration stamp.

Example:

getTime()
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()


Use this method to return the date and time value in the internal format.

Return:

TypeDescription
StringThis method returns the date and time value in the internal format. If the date value is invalid, the method returns null.

Example:

getValue()
const startDateTime = new SimpleDateTime('2019-01-01 08:00:00');
ss.info(startDateTime.getValue()); // 2019-01-01 08:00:00

getWeekOfYearLocalTime()


Use this method to return the week's number saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
IntegerThis method returns the number of the current week.

Example:

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

getWeekOfYearUTC()


Use this method to return the number of the week saved by the SimpleDateTime object in the UTC timezone.

Return:

TypeDescription
IntegerThis method returns the number of the current week.

Example:

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

getYearLocalTime()


Use this method to return the year saved by the SimpleDateTime object in the current user's timezone.

Return:

TypeDescription
IntegerThis method returns the four-digit year value.

Example:

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

getYearUTC()


Use this method to return the year saved by the SimpleDateTime object in the system timezone.

Return:

TypeDescription
IntegerThis method returns the four-digit year value.

Example:

getYearUTC()
const holidayDateTime = new SimpleDateTime('2019-12-31 23:45:00');
ss.info(holidayDateTime.getYearUTC()); 
//Info: 2019

isValid()


Use this method to check whether the specified date and time values are valid.

Return:

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

Example:

isValid()
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)


Use this method to define the date and time value within the SimpleDateTime object. The value of the dateTime parameter should be in the UTC timezone and the internal format of YYYY-MM-DD hh:mm:ss.

Parameter(s):

NameTypeMandatoryDefault value
dateTimeStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

setValue()
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)


Use this method to return the amount of time between two SimpleDateTime values. Also, it can subtract the amount of time from the current SimpleDateTime object.

The getDisplayValue() method returns the value in the user's timezone. The getValue() method returns data only in the UTC timezone.

Parameter(s):

NameTypeMandatoryDefault value
first

SimpleDateTime object/Integer

YN
secondSimpleDateTime objectNnull

Return:

TypeDescription
SimpleDuration objectThe method returns SimpleDuration object if both parameters were passed to the method. Otherwise, the method returns null.

Example 1:

subtract
const startDatetime = new SimpleDateTime('2019-11-08 20:00:00');
const endDatetime = new SimpleDateTime('2019-11-08 20:06:28');
const diffDuration = new SimpleDateTime().subtract(startDatetime, endDatetime); 
ss.info(diffDuration.getDurationSeconds());
// Info: 388

Same example without using the subtract:

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

Example 2:

subtract
const datetime = new SimpleDateTime('2020-08-28 09:00:00');
datetime.subtract(3600);
ss.info(datetime.getValue());
//Info: 2020-08-28 08:00:00

Same example without using the subtract:

const datetime = new SimpleDateTime('2020-08-28 09:00:00');
datetime.addSeconds(-3600);
ss.info(datetime.getValue());
//Info: 2020-08-28 08:00:00