SimpleDateTime
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
dateTime | String | N | '' |
Example:
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.
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
days | Integer | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
months | Integer | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
seconds | Integer | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
weeks | Integer | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
years | Integer | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
dateTime | SimpleDateTime object | Y | N |
Return:
Type | Description |
---|---|
Boolean | The method returns true if the current date is later than or equals to the date specified by the parameter; otherwise, it returns false. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
dateTime | SimpleDateTime object | Y | N |
Return:
Type | Description |
---|---|
Boolean | The method returns true if the current date is earlier than or equals to the date specified by the parameter; otherwise, it returns false. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
dateTime | SimpleDateTime object | Y | N |
Return:
Type | Description |
---|---|
0 | The dates are equal. |
1 | The object's date is after the date specified in the parameter. |
-1 | The object's date is before the date specified in the parameter. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
dateTime | SimpleDateTime object | Y | N |
Return:
Type | Description |
---|---|
Boolean | This method returns true if the date and time objects are equal; otherwise, it returns false. |
Example:
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:
Type | Description |
---|---|
String | This method returns the date in the UTC timezone. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the day of the month value. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the day of the month value. |
Example:
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:
Type | Description |
---|---|
String | This method returns the day of week value. Possible values: 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'. |
Example:
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:
Type | Description |
---|---|
String | This method returns the day of the week value. Possible values: 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the number of days in a month. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the number of days value. |
Example:
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:
Type | Description |
---|---|
String | This method returns the date and time value. |
Example:
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:
Type | Description |
---|---|
String | This method returns the error message. |
Example:
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:
Type | Description |
---|---|
String | This method returns the date in the user's timezone. |
Example:
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:
Type | Description |
---|---|
SimpleDateTime object | This method returns the time in the user's timezone. |
Example:
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:
Type | Description |
---|---|
String | This method returns the name of the month. |
Example:
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:
Type | Description |
---|---|
String | This method returns the name of the month. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the Unix timestamp value. |
Example:
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:
Type | Description |
---|---|
SimpleDateTime object | This method returns the Unix duration stamp. |
Example:
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:
Type | Description |
---|---|
String | This method returns the date and time value in the internal format. If the date value is invalid, the method returns null. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the number of the current week. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the number of the current week. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the four-digit year value. |
Example:
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:
Type | Description |
---|---|
Integer | This method returns the four-digit year value. |
Example:
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:
Type | Description |
---|---|
Boolean | The method returns true if the value is a valid date and time; otherwise, it returns false. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
dateTime | String | Y | N |
Return:
Type | Description |
---|---|
Void | This method does not return a value. |
Example:
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):
Name | Type | Mandatory | Default value |
---|---|---|---|
first | SimpleDateTime object/Integer | Y | N |
second | SimpleDateTime object | N | null |
Return:
Type | Description |
---|---|
SimpleDuration object | The method returns SimpleDuration object if both parameters were passed to the method. Otherwise, the method returns null. |
Example 1:
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:
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