Local Time APIs
Access the user’s local time and time zone in your functions
While each Modus SDK offers similar capabilities, the APIs and usage may vary between languages.
Modus Local Time APIs documentation is available on the following pages:
- AssemblyScript Local Time APIs (this page)
- Go Local Time APIs
The Modus Local Time APIs allow you to access the user’s local time and time zone from your functions.
Import
To begin, import the localtime
namespace from the SDK:
Local Time APIs
The APIs in the localtime
namespace are below.
All time zones use the IANA time zone database format. For example,
"America/New_York"
. You can find a list of valid time zones
here.
For APIs that work with the user’s local time, the time zone is determined in the following order of precedence:
- If the
X-Time-Zone
header is present in the request, the time zone is set to the value of the header. - If the
TZ
environment variable is set on the host, the time zone is set to the value of the variable. - Otherwise, the time zone is set to the host’s local time zone.
When working locally with modus dev
, Modus uses the host’s local time zone by
default. You can override this by setting the TZ
environment variable in your
.env.local
file.
In a browser-based web app, you can get the user’s time zone with the following JavaScript code:
Assign that value to a "X-Time-Zone"
request header when calling Modus, to use
it for all local time calculations.
If you just need the current UTC time, you can use AssemblyScript’s built-in support:
We’re constantly introducing new APIs through ongoing development with early users. Please open an issue if you have ideas on what would make Modus even more powerful for your next app!
Functions
getTimeZone
Returns the user’s time zone in IANA format.
isValidTimeZone
Determines whether the specified time zone is a valid IANA time zone and recognized by the system as such.
An IANA time zone identifier, such as "America/New_York"
.
now
Returns the current local time in the user’s time zone, as a string in ISO 8601 extended format, including the applicable time zone offset.
For example, "2025-12-31T12:34:56.789-04:00"
.
nowInZone
Returns the current local time in a specified time zone, as a string in ISO 8601 extended format, including the applicable time zone offset.
For example, "2025-12-31T12:34:56.789-04:00"
.
An IANA time zone identifier, such as "America/New_York"
.
Was this page helpful?