Tempo
A powerful wrapper around Temporal.ZonedDateTime for flexible parsing and intuitive manipulation of date-time objects. Bridges the gap between raw string/number inputs and the strict requirements of the ECMAScript Temporal API.
Constructors
Constructor
new Tempo(options?): Tempo;Instantiates a new Tempo object with configuration only.
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | Options | Configuration options for this specific instance. |
Returns
Tempo
Constructor
new Tempo(tempo, options?): Tempo;Instantiates a new Tempo object with a value.
Parameters
| Parameter | Type | Description |
|---|---|---|
tempo | DateTime | The date-time value to parse. |
options? | Options | Configuration options for this specific instance. |
Returns
Tempo
Accessors
[toStringTag]
Get Signature
get toStringTag: string;Returns
string
cal
Get Signature
get cal(): string;Temporal Calendar ID (e.g., 'iso8601' | 'gregory')
Returns
string
config
Get Signature
get config(): Config;current Tempo configuration
Returns
Config
day
Get Signature
get day(): number;Day of the month (alias for dd)
Returns
number
dd
Get Signature
get dd(): number;Day of the month (1-31)
Returns
number
dow
Get Signature
get dow(): 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;iso weekday number: Mon=1, Sun=7
Returns
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
epoch
Get Signature
get epoch(): {
ms: number;
ns: bigint;
ss: number;
us: number;
};units since epoch
Returns
ms
readonly ms: number;milliseconds since epoch
ns
readonly ns: bigint;nanoseconds since epoch
ss
readonly ss: number;seconds since epoch
us
readonly us: number;microseconds since epoch
ff
Get Signature
get ff(): number;Fractional seconds (e.g., 0.123456789)
Returns
number
fmt
Get Signature
get fmt(): any;Formatted results for all pre-defined format codes
Returns
any
hh
Get Signature
get hh(): hh;Hour of the day (0-23)
Returns
hh
isValid
Get Signature
get isValid(): boolean | ZonedDateTime;true if the underlying date-time is valid.
Returns
boolean | ZonedDateTime
mi
Get Signature
get mi(): mi;Minutes of the hour (0-59)
Returns
mi
mm
Get Signature
get mm(): mm;Month number: Jan=1, Dec=12
Returns
mm
mmm
Get Signature
get mmm():
| "All"
| "Jan"
| "Feb"
| "Mar"
| "Apr"
| "May"
| "Jun"
| "Jul"
| "Aug"
| "Sep"
| "Oct"
| "Nov"
| "Dec";Short month name (e.g., 'Jan')
Returns
| "All" | "Jan" | "Feb" | "Mar" | "Apr" | "May" | "Jun" | "Jul" | "Aug" | "Sep" | "Oct" | "Nov" | "Dec"
mon
Get Signature
get mon():
| "May"
| "Every"
| "January"
| "February"
| "March"
| "April"
| "June"
| "July"
| "August"
| "September"
| "October"
| "November"
| "December";Full month name (e.g., 'January')
Returns
| "May" | "Every" | "January" | "February" | "March" | "April" | "June" | "July" | "August" | "September" | "October" | "November" | "December"
ms
Get Signature
get ms(): ms;Milliseconds of the second (0-999)
Returns
ms
nano
Get Signature
get nano(): bigint;Nanoseconds since Unix epoch (BigInt)
Returns
bigint
ns
Get Signature
get ns(): ns;Nanoseconds of the microsecond (0-999)
Returns
ns
parse
Get Signature
get parse(): Parse;Instance-specific parse rules (merged with global)
Returns
Parse
ranges
Get Signature
get ranges(): Record<string, string>;current range key for every registered term
Returns
Record<string, string>
ss
Get Signature
get ss(): ss;Seconds of the minute (0-59)
Returns
ss
term
Get Signature
get term(): any;Keyed results for all resolved terms
Returns
any
terms
Get Signature
get terms(): Record<string, string[]>;list of registered terms and their available range keys
Returns
Record<string, string[]>
ts
Get Signature
get ts(): number | bigint;Unix timestamp (defaults to milliseconds)
Returns
number | bigint
tz
Get Signature
get tz(): string;IANA Time Zone ID (e.g., 'Australia/Sydney')
Returns
string
us
Get Signature
get us(): us;Microseconds of the millisecond (0-999)
Returns
us
wkd
Get Signature
get wkd():
| "Everyday"
| "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
| "Sunday";Full weekday name (e.g., 'Monday')
Returns
| "Everyday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"
ww
Get Signature
get ww(): ww;iso week number of the year
Returns
ww
www
Get Signature
get www(): "All" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun";Short weekday name (e.g., 'Mon')
Returns
"All" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun"
yw
Get Signature
get yw(): number | undefined;4-digit iso week-numbering year
Returns
number | undefined
yy
Get Signature
get yy(): number;4-digit year (e.g., 2024)
Returns
number
$ImmutableSkip
Get Signature
get static $ImmutableSkip(): string[];Returns
string[]
config
Get Signature
get static config(): any;global Tempo configuration
Returns
any
default
Get Signature
get static default(): Readonly<{
calendar?: CalendarLike;
catch?: boolean;
debug?: number | boolean;
discovery?: string | symbol | Discovery;
event?: | Extend<{
christmas: "25 Dec";
christmas ?eve: "24 Dec";
fortnight: (this) => Tempo;
new.?years? ?eve: "31 Dec";
new.?years?(?: ?day)?: "01 Jan";
now: (this) => ZonedDateTime;
ny: "01 Jan";
nye: "31 Dec";
today: (this) => ZonedDateTime;
tomorrow: (this) => Tempo;
xmas: "25 Dec";
xmas ?eve: "24 Dec";
yesterday: (this) => Tempo;
}, string, string | Function>
| RegistryOption<Logic>;
formats?: Property<any>;
ignore?: Ignore;
intl?: IntlOptions;
layout?: | Extend<{
[key: symbol]: string;
}, symbol, string>
| RegistryOption<Pattern>;
locale?: string;
mode?: "auto" | "strict" | "defer";
monthDay?: boolean | MonthDay;
period?: | Extend<{
after[ -]?noon: "3:00pm";
evening: "18:00";
half[ -]?hour: (this) => string;
mid[ -]?day: "12:00";
mid[ -]?morning: "10:00";
mid[ -]?night: "24:00";
morning: "8:00";
night: "20:00";
noon: "12:00";
}, string, string | Function>
| RegistryOption<Logic>;
pivot?: number;
planner?: PlannerOptions;
plugins?: Plugin | Plugin[];
relativeTime?: RelativeTime | ((value, unit) => string);
scope: "default";
silent?: boolean;
snippet?: | Extend<{
[key: symbol]: RegExp;
}, symbol, RegExp>
| RegistryOption<Pattern>;
sphere?: string;
store?: string;
timeStamp?: TimeStamp;
timeZone: TimeZoneLike;
value?: DateTime;
}>;Tempo initial default settings
Returns
Readonly<{ calendar?: CalendarLike; catch?: boolean; debug?: number | boolean; discovery?: string | symbol | Discovery; event?: | Extend<{ christmas: "25 Dec"; christmas ?eve: "24 Dec"; fortnight: (this) => Tempo; new.?years? ?eve: "31 Dec"; new.?years?(?: ?day)?: "01 Jan"; now: (this) => ZonedDateTime; ny: "01 Jan"; nye: "31 Dec"; today: (this) => ZonedDateTime; tomorrow: (this) => Tempo; xmas: "25 Dec"; xmas ?eve: "24 Dec"; yesterday: (this) => Tempo; }, string, string | Function> | RegistryOption<Logic>; formats?: Property<any>; ignore?: Ignore; intl?: IntlOptions; layout?: | Extend<{ [key: symbol]: string; }, symbol, string> | RegistryOption<Pattern>; locale?: string; mode?: "auto" | "strict" | "defer"; monthDay?: boolean | MonthDay; period?: | Extend<{ after[ -]?noon: "3:00pm"; evening: "18:00"; half[ -]?hour: (this) => string; mid[ -]?day: "12:00"; mid[ -]?morning: "10:00"; mid[ -]?night: "24:00"; morning: "8:00"; night: "20:00"; noon: "12:00"; }, string, string | Function> | RegistryOption<Logic>; pivot?: number; planner?: PlannerOptions; plugins?: Plugin | Plugin[]; relativeTime?: RelativeTime | ((value, unit) => string); scope: "default"; silent?: boolean; snippet?: | Extend<{ [key: symbol]: RegExp; }, symbol, RegExp> | RegistryOption<Pattern>; sphere?: string; store?: string; timeStamp?: TimeStamp; timeZone: TimeZoneLike; value?: DateTime; }>
discovery
Get Signature
get static discovery(): any;global discovery configuration
Returns
any
FORMAT
Get Signature
get static FORMAT(): Extend<EnumifyType<{
date: "{yyyy}-{mm}-{dd}";
dayDate: "{dd}-{mmm}-{yyyy}";
dayMonth: "{dd}-{mmm}";
dayTime: "{dd}-{mmm}-{yyyy} {hh}:{mi}:{ss}";
display: "{www}, {dd} {mmm} {yyyy}";
logStamp: "{yyyy}{mm}{dd}T{hhmiss}.{ff}";
sortTime: "{yyyy}-{mm}-{dd} {hh}:{mi}:{ss}";
time: "{hh}:{mi}:{ss}";
weekDate: "{www}, {yyyy}-{mmm}-{dd}";
weekStamp: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}.{ff}";
weekTime: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}";
yearMonth: "{yyyy}{mm}";
yearMonthDay: "{yyyy}{mm}{dd}";
yearWeek: "{yw}{ww}";
}>, string, string | number>;Pre-configured format {name -> string} pairs
Returns
Extend<EnumifyType<{ date: "{yyyy}-{mm}-{dd}"; dayDate: "{dd}-{mmm}-{yyyy}"; dayMonth: "{dd}-{mmm}"; dayTime: "{dd}-{mmm}-{yyyy} {hh}:{mi}:{ss}"; display: "{www}, {dd} {mmm} {yyyy}"; logStamp: "{yyyy}{mm}{dd}T{hhmiss}.{ff}"; sortTime: "{yyyy}-{mm}-{dd} {hh}:{mi}:{ss}"; time: "{hh}:{mi}:{ss}"; weekDate: "{www}, {yyyy}-{mmm}-{dd}"; weekStamp: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}.{ff}"; weekTime: "{www}, {yyyy}-{mmm}-{dd} {hh}:{mi}:{ss}"; yearMonth: "{yyyy}{mm}"; yearMonthDay: "{yyyy}{mm}{dd}"; yearWeek: "{yw}{ww}"; }>, string, string | number>
formats
Get Signature
get static formats(): any;static Tempo.formats (registry)
Returns
any
ignores
Get Signature
get static ignores(): Secure<Ignore>;static Tempo.ignores (registry)
Returns
Secure<Ignore>
instant
Get Signature
get static instant(): Instant;get the current system Instant
Returns
Instant
LIMIT
Get Signature
get static LIMIT(): {
get maxTempo(): bigint;
get minTempo(): bigint;
};some useful Dates
Returns
maxTempo
Get Signature
get maxTempo(): bigint;Tempo(31-Dec-9999.23:59:59).ns
Returns
bigint
minTempo
Get Signature
get minTempo(): bigint;Tempo(01-Jan-1000.00:00:00).ns
Returns
bigint
MODE
Get Signature
get static MODE(): EnumifyType<{
Auto: "auto";
Defer: "defer";
Strict: "strict";
}>;initialization strategies
Returns
EnumifyType<{ Auto: "auto"; Defer: "defer"; Strict: "strict"; }>
MONTH_DAY
Get Signature
get static MONTH_DAY(): {
layouts: readonly [readonly ["dayMonthYearShort", "monthDayYearShort"], readonly ["dayMonthYear", "monthDayYear"]];
locales: readonly ["en-US", "en-AS"];
timezones: {
en-AS: readonly ["Pacific/Pago_Pago"];
en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];
};
};regional date-parsing configuration
Returns
{
layouts: readonly [readonly ["dayMonthYearShort", "monthDayYearShort"], readonly ["dayMonthYear", "monthDayYear"]];
locales: readonly ["en-US", "en-AS"];
timezones: {
en-AS: readonly ["Pacific/Pago_Pago"];
en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];
};
}layouts
readonly layouts: readonly [readonly ["dayMonthYearShort", "monthDayYearShort"], readonly ["dayMonthYear", "monthDayYear"]];locales
readonly locales: readonly ["en-US", "en-AS"];timezones
readonly timezones: {
en-AS: readonly ["Pacific/Pago_Pago"];
en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];
};timezones.en-AS
readonly en-AS: readonly ["Pacific/Pago_Pago"];timezones.en-US
readonly en-US: readonly ["America/Adak", "America/Anchorage", "America/Boise", "America/Chicago", "America/Denver", "America/Detroit", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Los_Angeles", "America/Louisville", "America/Menominee", "America/Metlakatla", "America/New_York", "America/Nome", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Phoenix", "America/Sitka", "America/Yakutat", "Pacific/Honolulu", "US/Aleutian", "US/Alaska", "US/Arizona", "US/Central", "US/Eastern", "US/Mountain", "US/Pacific"];NUMBER
Get Signature
get static NUMBER(): Extend<EnumifyType<{
eight: 8;
five: 5;
four: 4;
nine: 9;
one: 1;
seven: 7;
six: 6;
ten: 10;
three: 3;
two: 2;
zero: 0;
}>, string, number>;Number names (0-10)
Returns
Extend<EnumifyType<{ eight: 8; five: 5; four: 4; nine: 9; one: 1; seven: 7; six: 6; ten: 10; three: 3; two: 2; zero: 0; }>, string, number>
options
Get Signature
get static options(): any;Returns
any
parse
Get Signature
get static parse(): any;configuration governing the static 'rules' used when parsing t.DateTime argument
Returns
any
properties
Get Signature
get static properties(): SecureArray<string>;static Tempo properties getter
Returns
SecureArray<string>
terms
Get Signature
get static terms(): SecureArray<Omit<TermPlugin, "define" | "resolve">> & Record<string, Omit<TermPlugin, "define" | "resolve">>;static Tempo.terms (registry)
Returns
SecureArray<Omit<TermPlugin, "define" | "resolve">> & Record<string, Omit<TermPlugin, "define" | "resolve">>
TIMEZONE
Get Signature
get static TIMEZONE(): Extend<{
acst: "Australia/Adelaide";
aest: "Australia/Sydney";
awst: "Australia/Perth";
cet: "Europe/Paris";
cst: "America/Chicago";
eet: "Europe/Helsinki";
est: "America/New_York";
gmt: "Europe/London";
ist: "Asia/Kolkata";
jst: "Asia/Tokyo";
mst: "America/Denver";
npt: "Asia/Kathmandu";
nzt: "Pacific/Auckland";
pst: "America/Los_Angeles";
utc: "UTC";
}, string, string>;TimeZone aliases
Returns
Extend<{ acst: "Australia/Adelaide"; aest: "Australia/Sydney"; awst: "Australia/Perth"; cet: "Europe/Paris"; cst: "America/Chicago"; eet: "Europe/Helsinki"; est: "America/New_York"; gmt: "Europe/London"; ist: "Asia/Kolkata"; jst: "Asia/Tokyo"; mst: "America/Denver"; npt: "Asia/Kathmandu"; nzt: "Pacific/Auckland"; pst: "America/Los_Angeles"; utc: "UTC"; }, string, string>
Methods
[iterator]()
iterator: ArrayIterator<EntryOf<any>>;iterate over instance formats
Returns
ArrayIterator<EntryOf<any>>
[toPrimitive]()
toPrimitive: string | number | bigint;allow for auto-convert of Tempo to BigInt, Number or String
Parameters
| Parameter | Type |
|---|---|
hint? | "string" | "number" | "default" |
Returns
string | number | bigint
add()
add(tempo?, options?): Tempo;returns a new Tempo with specific duration added.
Parameters
| Parameter | Type |
|---|---|
tempo? | MutateAdd |
options? | Options |
Returns
Tempo
clone()
clone(): Tempo;returns a clone of the current Tempo instance.
Returns
Tempo
format()
Call Signature
format<K>(fmt): any;apply a custom format.
Type Parameters
| Type Parameter |
|---|
K extends Format |
Parameters
| Parameter | Type |
|---|---|
fmt | K |
Returns
any
Call Signature
format(fmt): any;applies a format to the instance.
Parameters
| Parameter | Type |
|---|---|
fmt | any |
Returns
any
set()
set(tempo?, options?): Tempo;returns a new Tempo with specific offsets.
Parameters
| Parameter | Type |
|---|---|
tempo? | MutateSet |
options? | Options |
Returns
Tempo
setCatchMode()
setCatchMode(catchMode): this;explicitly enable/disable "catch" mode for this instance
Parameters
| Parameter | Type |
|---|---|
catchMode | boolean |
Returns
this
since()
Call Signature
since(arg0?, arg1?): any;time elapsed since another date-time
Parameters
| Parameter | Type |
|---|---|
arg0? | any |
arg1? | any |
Returns
any
Call Signature
since(until, opts?): string;time elapsed since (with unit)
Parameters
| Parameter | Type |
|---|---|
until | Until |
opts? | Options |
Returns
string
Call Signature
since(dateTimeOrOpts, until): string;time elapsed since another date-time (with unit)
Parameters
| Parameter | Type |
|---|---|
dateTimeOrOpts | Options | DateTime |
until | Until |
Returns
string
Call Signature
since(dateTimeOrOpts?, opts?): string;time elapsed since another date-time (w'out unit)
Parameters
| Parameter | Type |
|---|---|
dateTimeOrOpts? | Options | DateTime |
opts? | Options |
Returns
string
Call Signature
since(optsOrDate?, optsOrUntil?): string;time elapsed since another date-time
Parameters
| Parameter | Type |
|---|---|
optsOrDate? | any |
optsOrUntil? | any |
Returns
string
toDate()
toDate(): Date;the date-time as a standard Date object.
Returns
Date
toDateTime()
toDateTime(): ZonedDateTime;returns the underlying Temporal.ZonedDateTime
Returns
ZonedDateTime
toInstant()
toInstant(): Instant;returns the underlying Temporal.Instant
Returns
Instant
toJSON()
toJSON(): {
calendar: CalendarLike;
catch: boolean | undefined;
debug: number | boolean | undefined;
discovery: string | symbol | Discovery;
formats: EnumifyType;
intl: IntlOptions;
locale: string;
mode: "auto" | "strict" | "defer";
plugins: Plugin | Plugin[];
scope: "global" | "local";
silent: boolean | undefined;
sphere: string | undefined;
store: string;
timeStamp: TimeStamp;
timeZone: TimeZoneLike;
value: string;
};Custom JSON serialization for JSON.stringify.
Returns
calendar
calendar: CalendarLike;Temporal calendar
catch
catch: boolean | undefined;catch or throw Errors
debug
debug: number | boolean | undefined;additional console.log for tracking
discovery
discovery: string | symbol | Discovery;globalThis Discovery Symbol
formats
formats: EnumifyType;pre-configured format strings
intl
intl: IntlOptions;internationalization configuration (relativeTime, etc.)
locale
locale: string;locale (e.g. en-AU)
mode
mode: "auto" | "strict" | "defer";initialization strategy ('auto'|'strict'|'defer')
plugins
plugins: Plugin | Plugin[];plugins to be automatically extended
scope
scope: "global" | "local";configuration (global | local)
silent
silent: boolean | undefined;suppress console output during catch
sphere
sphere: string | undefined;hemisphere for term.qtr or term.szn
store
store: string;localStorage key
timeStamp
timeStamp: TimeStamp;Precision to measure timestamps (ms | us)
timeZone
timeZone: TimeZoneLike;Temporal timeZone
value
value: string;toNow()
toNow(): ZonedDateTime;the current system time localized to this instance.
Returns
ZonedDateTime
toPlainDate()
toPlainDate(): PlainDate;returns a Temporal.PlainDate representation
Returns
PlainDate
toPlainDateTime()
toPlainDateTime(): PlainDateTime;returns a Temporal.PlainDateTime representation
Returns
PlainDateTime
toPlainTime()
toPlainTime(): PlainTime;returns a Temporal.PlainTime representation
Returns
PlainTime
toString()
toString(): string;iso8601 string representation of the date-time.
Returns
string
until()
Call Signature
until(arg0?, arg1?): any;time duration until another date-time
Parameters
| Parameter | Type |
|---|---|
arg0? | any |
arg1? | any |
Returns
any
Call Signature
until(dateTimeOrOpts?, opts?): Duration;time duration until (returns Duration)
Parameters
| Parameter | Type |
|---|---|
dateTimeOrOpts? | Options | DateTime |
opts? | Options |
Returns
Duration
Call Signature
until(unit, opts?): number;time duration until (with unit, returns number)
Parameters
| Parameter | Type |
|---|---|
unit | Unit |
opts? | Options |
Returns
number
Call Signature
until(dateTimeOrOpts, unit): number;time duration until another date-time (with unit)
Parameters
| Parameter | Type |
|---|---|
dateTimeOrOpts | Options | DateTime |
unit | Unit |
Returns
number
Call Signature
until(optsOrDate?, optsOrUntil?): number | Duration;fallback: union of possible returns
Parameters
| Parameter | Type |
|---|---|
optsOrDate? | | string | number | bigint | TempoBrand | ZonedDateTime | Instant | Tempo | Date | PlainDate | PlainTime | PlainDateTime | Options | ZonedDateTimeLikeObject | Duration | Options & { unit?: Unit; } | null |
optsOrUntil? | Options | Until |
Returns
number | Duration
compare()
static compare(tempo1?, tempo2?): number;Compares two Tempo instances or date-time values.
Parameters
| Parameter | Type |
|---|---|
tempo1? | Options | DateTime |
tempo2? | Options | DateTime |
Returns
number
create()
static create(options?): typeof Tempo;🏭 Sandbox Factory Mode Create a fresh, isolated Tempo subclass with its own configuration and registries. Returns a new class that inherits from the caller, but maintains independent state.
Parameters
| Parameter | Type |
|---|---|
options | Options |
Returns
typeof Tempo
extend()
Call Signature
static extend(plugin, options?): typeof Tempo;Register a plugin or term extension.
Parameters
| Parameter | Type | Description |
|---|---|---|
plugin | Plugin | A plugin or term extension to register. |
options? | Options | Optional configuration for the plugin. |
Returns
typeof Tempo
Call Signature
static extend(plugins, options?): typeof Tempo;Register an array of plugins or term extensions.
Parameters
| Parameter | Type | Description |
|---|---|---|
plugins | any[] | An array of plugins, terms, or extensions to register. |
options? | Options | Optional configuration for the plugins. |
Returns
typeof Tempo
Call Signature
static extend(...args): typeof Tempo;Register multiple plugins or term extensions.
Parameters
| Parameter | Type | Description |
|---|---|---|
...args | any[] | A plugin, term, or list of extensions to register. |
Returns
typeof Tempo
from()
Call Signature
static from(options?): Tempo;Creates a new Tempo instance.
Parameters
| Parameter | Type |
|---|---|
options? | Options |
Returns
Tempo
Call Signature
static from(tempo, options?): Tempo;Creates a new Tempo instance.
Parameters
| Parameter | Type |
|---|---|
tempo | DateTime |
options? | Options |
Returns
Tempo
init()
static init(options?): typeof Tempo;Reset Tempo to its default, built-in registration state
Parameters
| Parameter | Type |
|---|---|
options | Options |
Returns
typeof Tempo
isTempo()
static isTempo(instance?): instance is Tempo;check if a supplied variable is a valid Tempo instance
Parameters
| Parameter | Type |
|---|---|
instance? | any |
Returns
instance is Tempo
now()
static now(): bigint;Returns
bigint
regexp()
static regexp(layout, snippet?): any;translates {layout} into an anchored, case-insensitive RegExp.
Parameters
| Parameter | Type |
|---|---|
layout | string | RegExp |
snippet? | Extend<{ [key: symbol]: RegExp; }, symbol, RegExp> |
Returns
any
setCatchMode()
static setCatchMode(catchMode): typeof Tempo;explicitly enable/disable "catch" mode for internal errors
Parameters
| Parameter | Type |
|---|---|
catchMode | boolean |
Returns
typeof Tempo