Temporal Calendar ID (e.g., 'iso8601' | 'gregory')
current Tempo configuration
Day of the month (alias for dd)
Day of the month (1-31)
iso weekday number: Mon=1, Sun=7
Year within the era (positive integer)
units since epoch for this date-time instance
Readonlyms: numbermilliseconds since epoch
Readonlyns: bigintnanoseconds since epoch
Readonlyss: numberseconds since epoch
Readonlyus: numbermicroseconds since epoch
Era string for the calendar (e.g., 'ce', 'bce')
Fractional seconds (e.g., 0.123456789)
Formatted results for all pre-defined format codes
Hour of the day (0-23)
Standard ISO 8601 string in UTC
true if the underlying date-time is valid.
Minutes of the hour (0-59)
Month number: Jan=1, Dec=12
Short month name (e.g., 'Jan')
Full month name (e.g., 'January')
Milliseconds of the second (0-999)
Nanoseconds since Unix epoch (BigInt)
Nanoseconds of the microsecond (0-999)
Instance-specific parse rules (merged with global)
current range key for every registered term
Seconds of the minute (0-59)
Keyed results for all resolved terms
list of registered terms and their available range keys
Unix timestamp (defaults to milliseconds)
IANA Time Zone ID (e.g., 'Australia/Sydney')
Microseconds of the millisecond (0-999)
Full weekday name (e.g., 'Monday')
Short weekday name (e.g., 'Mon')
iso week number of the year
4-digit iso week-numbering year
4-digit year (e.g., 2024)
Staticcachehigh-performance in-memory cache facade for glossary and dynamic parse results
StaticCACHEcache operation modes
Staticconfigglobal Tempo configuration
StaticdefaultTempo initial default settings
Staticdiscoveryglobal discovery configuration
Staticepochstatic units since Unix epoch
Readonlyms: numbermilliseconds since epoch
Readonlyns: bigintnanoseconds since epoch
Readonlyss: numberseconds since epoch
Readonlyus: numbermicroseconds since epoch
StaticFORMATPre-configured format {name -> string} pairs
StaticformatsStaticignoresstatic Tempo.ignores (registry)
Staticinstantget the current system Instant
Staticlicensehuman-readable formatted license state
StaticLIMITsome useful Dates
Tempo(31-Dec-9999.23:59:59).ns
Tempo(01-Jan-1000.00:00:00).ns
StaticMODEinitialization strategies
StaticMONTH_regional date-parsing configuration
StaticNUMBERNumber names (0-10)
StaticoptionsStaticparseconfiguration governing the static 'rules' used when parsing t.DateTime argument
Optional Readonlyanchor?: ZonedDateTimeanchor value used for this parse operation
Readonlyevent: {Readonlyignore: { readonly [key: string]: string }Optional ReadonlyisAnchored?: booleanwas this a nested/anchored parse?
Readonlylayout: { readonly [key: symbol]: string }Readonlymode: "auto" | "strict" | "defer"initialization strategy ('auto'|'strict'|'defer')
ReadonlymonthDay: MonthDayReadonlypattern: RegistryMap of regex-patterns to match input-string
Readonlyperiod: {Readonlypivot: numberpivot year for two-digit years
Readonlyresult: Match[]parsing match result
Readonlysnippet: { readonly [key: symbol]: RegExp }Readonlytoken: ExtendSymbol registry
Staticpropertiesstatic Tempo properties getter
Staticregistrystatic Tempo.registry
Statictermsstatic Tempo.terms (registry)
StaticTIMEZONETimeZone aliases
Staticversionthe version of this Tempo build (stamped at build-time from package.json)
Staticversionsthe active versions of Tempo and any registered plugins or modules
iterate over instance formats
allow for auto-convert of Tempo to BigInt, Number or String
Optionalhint: "string" | "number" | "default"returns a new Tempo with specific duration added.
Optionaltempo: MutateAddOptionaloptions: Optionsreturns a clone of the current Tempo instance.
apply a custom format.
Optionalfmt: anyOptionaloptions: anyapplies a format to the instance.
Applies a format to the instance.
Format strings are validated at compile time — any unrecognised {token}
will produce an IDE error showing the bad token name.
applies a format to the instance (zero-argument — returns a pre-built format proxy).
returns a new Tempo with specific offsets.
Optionaltempo: MutateSetOptionaloptions: Optionsexplicitly enable/disable "catch" mode for this instance
time elapsed since another date-time
OptionaldateTimeOrOpts: Options | DateTimeOptionalopts: Optionstime elapsed since another date-time
Optionalopts: Optionstime elapsed since another date-time
time elapsed since (with unit)
Optionalopts: Optionstime elapsed since another date-time (with unit)
time elapsed since another date-time (w'out unit)
OptionaldateTimeOrOpts: Options | DateTimeOptionalopts: Optionstime elapsed since another date-time
OptionaloptsOrDate: anyOptionaloptsOrUntil: anyreturns a new Tempo with specific duration subtracted.
Optionaltempo: MutateAddOptionaloptions: Optionsthe date-time as a standard Date object.
returns the underlying Temporal.ZonedDateTime
returns the underlying Temporal.Instant
Custom JSON serialization for JSON.stringify.
Temporal calendar
catch or throw Errors
additional console.log for tracking
globalThis Discovery Symbol
internationalization configuration (relativeTime, etc.)
Optionallicense?: stringlicense key for premium features
locale (e.g. en-AU)
initialization strategy ('auto'|'strict'|'defer')
plugins to be automatically extended
custom data augmentation registries
scope for configuration mutations
suppress console output during catch
hemisphere for term.qtr or term.szn
localStorage key
Precision to measure timestamps (ms | us)
Temporal timeZone
the current system time localized to this instance.
returns a Temporal.PlainDate representation
returns a Temporal.PlainDateTime representation
returns a Temporal.PlainTime representation
iso8601 string representation of the date-time.
time duration until another date-time
OptionaldateTimeOrOpts: Options | DateTimeOptionalopts: Optionstime duration until another date-time
Optionalopts: Optionstime duration until another date-time
time duration until (returns Duration)
OptionaldateTimeOrOpts: Options | DateTimeOptionalopts: Optionstime duration until (with unit, returns number)
Optionalopts: Optionstime duration until another date-time (with unit)
fallback: union of possible returns
OptionaloptsOrDate: OptionaloptsOrUntil: Options | UntilStatic[dispose]release global config and reset library to defaults
Static[hasStatic[iterator]iterate over Tempo properties
StaticbootstrapAutomatically discovers and loads configuration from tempo.config.*
before initializing the engine.
Optionaloptions: { configFile?: string; cwd?: string }StaticcompareCompares two Tempo instances or date-time values. Returns -1 (earlier), 0 (equal), or 1 (later).
Optionaltempo1: Options | DateTimeOptionaltempo2: Options | DateTimeStaticcreate🏭 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.
StaticextendRegister a plugin or term extension.
A plugin or term extension to register.
Optionaloptions: OptionsOptional configuration for the plugin.
Register an array of plugins or term extensions.
An array of plugins, terms, or extensions to register.
Optionaloptions: OptionsOptional configuration for the plugins.
Register multiple plugins or term extensions.
A plugin, term, or list of extensions to register.
StaticfromStaticinitReset Tempo to its default, built-in registration state
Staticischeck if a supplied variable is a valid Tempo instance
Optionalinstance: anyStaticnowOptionalunit: "ns"StaticreadyWait for the background licensing and validation engine to finish settling. Resolves immediately if no license key or validation is pending.
The final, human-readable license status ('none', 'active', 'expired', etc.)
StaticregexpStaticsetexplicitly enable/disable "catch" mode for internal errors
Instantiates a new
Tempoobject with configuration only.