Hierarchy
- TDatetime
Properties
Readonly day
Day of the month (1-31).
Readonly hours
Hours (0-23).
Readonly milliseconds
Milliseconds (0-999).
Readonly minutes
Minutes (0-59).
Readonly month
Month (1-12).
Readonly seconds
Seconds (0-59).
Readonly year
Year.
Methods
add
addDate
-
Add days, months, or years.
Parameters
-
years: number
-
month: number
-
days: number
Returns TDatetime
-
after
-
Checks whether the current date is later than
date
.Parameters
-
date: TDatetime
Returns boolean
-
afterOrEqual
-
Checks whether the current date is the same as or later than
date
.Example:
const startDatetime = new Datetime(); const endDatetime = (new Datetime()).addDate(0, 0, 1); const beforeOrEqual = startDatetime.afterOrEqual(endDatetime); // false
Parameters
-
date: TDatetime
Returns boolean
-
asDate
-
Converting to the standard
Date
type.Returns Date
before
-
Checks whether the current date is earlier than
date
.Parameters
-
date: TDatetime
Returns boolean
-
beforeOrEqual
-
Checks whether the current date is the same as or earlier than
date
.Example:
const startDatetime = new Datetime(); const endDatetime = (new Datetime()).addDate(0, 0, 1); const beforeOrEqual = startDatetime.beforeOrEqual(endDatetime); // true
Parameters
-
date: TDatetime
Returns boolean
-
equal
-
Checks whether two objects have the same value.
Parameters
-
date: TDatetime
Returns boolean
-
format
-
Converting to a string of a specific format.
Here the [moment.format() syntax](https://momentjs.com/docs/#/displaying/ format/) is used. Example:
const datetime = new Datetime(); datetime.format(); // '2022-02-24T09:00:00+02:00' (ISO 8601 standard) datetime.format('dddd, MMMM Do YYYY, h:mm:ss a'); // 'Thursday, February 24th 2022, 9:00:00 am' datetime .format('ddd, h A'); // 'Thu, 9AM' datetime.format('[ Today is] dddd'); // 'Today is Thursday'
Parameters
-
Optional format: undefined | string
Returns string
-
getDate
getTime
getTz
-
Get time zone.
Returns TTimezone
sub
truncateTime
-
Round up to the start of the day.
Resets the time to 00:00 and returns the date in the UTC format.
Returns TDatetime
unix
-
Number of seconds that have elapsed since
00:00:00 01.01.1970
UTC.Returns number
utc
-
Returns a date and time in UTC.
Returns TDatetime
Date and time
The type has the following constructors:
new Datetime(input?: Date): TDatetime; new Datetime(value: string, format?: string): TDatetime;
Examples of how Date/Time objects can be created:
const now = new Datetime(); const datetime1 = new Datetime('2022-02-24'); const datetime2 = new Datetime('2022-02-24T00:00:00.000Z'); const datetime3 = new Datetime('24.02.2022', 'DD.MM.YYYY'); const datetime4 = new Datetime(new Date('2022-02-24T00:00:00')); const datetime5 = new Datetime( new Date(Date.UTC(2022, 2, 24)));
If you write the data as a string and don’t specify the format in the constructor, by default the value is checked against the
YYYY-MM-DDTHH:mm:ss.SSSZ
format. So you can set the value in the following way:etc. This type is immutable, so mutation methods return the updated value
without changing the original one.
If you want all dates to be calculated in the user’s time zone, you need to expressly state this by setting the current time zone:const now = new Datetime(); const yesterday = now.addDate(0, 0, -1); now.after(yesterday) // true
// Getting the user we need for calculations const user = ...; // Setting the time zone for all further calculations in the script System.timezones.current = user.timezone; const today_22_00 = Context.data. datetimevar.getDate().asDatetime(new TTime(22, 0, 0, 0));