Search by task, endpoint, field, or error.
Time API
Local time, timezone lookup, and conversion.
Get the current time in UTC, in an IANA timezone, or at a coordinate. Every answer includes at, an ISO date and time with its UTC offset, and unix, the same instant in whole seconds since the Unix epoch. Timezone, offset, and daylight saving are core. Deep adds numeric offsets, a friendly zone name and the next clock change, included on every plan.
Omit at for now. Pass an ISO timestamp with Z or a UTC offset for a specific instant. The fixed timestamps in these examples make their responses reproducible.
UTC
Parameters 5
- latnumber · query · optional
Latitude. Requires lon; omit both for UTC
Range: -90 to 90
- lonnumber · query · optional
Longitude. Requires lat; omit both for UTC
Range: -180 to 180
- atstring · query · optional
ISO date and time; defaults to now. An explicit Z or UTC offset identifies an instant. With to=, no offset means source-zone wall time; without to=, no offset means UTC. Repeated wall times select the earlier occurrence; skipped times advance by the offset gap. Invalid calendar dates return 400.
- tostring · query · optional
Destination IANA timezone. Appends to with local at, unix, timezone, abbreviation, offset, and dst for the same instant. deep=true adds name, offset_minutes, and offset_seconds inside to.deep.
- deepboolean · query · optional
Friendly zone name, numeric offset representations and the next offset transition. Included on every plan, with no additional charge.
Values:
true
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.time(undefined, { at: "2026-08-29T19:00:00Z" });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"timezone": "UTC",
"abbreviation": "UTC",
"offset": "+00:00",
"dst": false,
"at": "2026-08-29T19:00:00+00:00",
"unix": 1788030000
}By timezone
Parameters 4
- timezonestring · path · required
IANA timezone identifier. Slashes may be literal or URL-encoded
- atstring · query · optional
ISO date and time; defaults to now. An explicit Z or UTC offset identifies an instant. With to=, no offset means source-zone wall time; without to=, no offset means UTC. Repeated wall times select the earlier occurrence; skipped times advance by the offset gap. Invalid calendar dates return 400.
- tostring · query · optional
Destination IANA timezone. Appends to with local at, unix, timezone, abbreviation, offset, and dst for the same instant. deep=true adds name, offset_minutes, and offset_seconds inside to.deep.
- deepboolean · query · optional
Friendly zone name, numeric offset representations and the next offset transition. Included on every plan, with no additional charge.
Values:
true
Use an IANA id such as America/New_York, Asia/Tokyo, or UTC. A slash can remain in the path or be URL-encoded as %2F.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.time("America/New_York", { at: "2026-08-29T19:00:00Z" });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"timezone": "America/New_York",
"abbreviation": "EDT",
"offset": "-04:00",
"dst": true,
"at": "2026-08-29T15:00:00-04:00",
"unix": 1788030000
}From coordinates
Parameters 5
- latnumber · query · optional
Latitude. Requires lon; omit both for UTC
Range: -90 to 90
- lonnumber · query · optional
Longitude. Requires lat; omit both for UTC
Range: -180 to 180
- atstring · query · optional
ISO date and time; defaults to now. An explicit Z or UTC offset identifies an instant. With to=, no offset means source-zone wall time; without to=, no offset means UTC. Repeated wall times select the earlier occurrence; skipped times advance by the offset gap. Invalid calendar dates return 400.
- tostring · query · optional
Destination IANA timezone. Appends to with local at, unix, timezone, abbreviation, offset, and dst for the same instant. deep=true adds name, offset_minutes, and offset_seconds inside to.deep.
- deepboolean · query · optional
Friendly zone name, numeric offset representations and the next offset transition. Included on every plan, with no additional charge.
Values:
true
Land returns its civil timezone. Open ocean returns a nautical Etc/GMT zone. Those ids use the POSIX sign: Etc/GMT+3 means UTC-03:00. The response offset and local time use the ordinary sign. If the timezone cannot resolve, its fields are null. Coordinates also accept at and to.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.time.at(40.7128, -74.006, { at: "2026-08-29T19:00:00Z" });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"latitude": 40.7128,
"longitude": -74.006,
"timezone": "America/New_York",
"abbreviation": "EDT",
"offset": "-04:00",
"dst": true,
"at": "2026-08-29T15:00:00-04:00",
"unix": 1788030000
}Convert
Add to with a destination timezone. The to object gives its local time and offset. Both unix values are identical: this is one instant in two places. Omit at to convert now.
Parameters 4
- timezonestring · path · required
IANA timezone identifier. Slashes may be literal or URL-encoded
- atstring · query · optional
ISO date and time; defaults to now. An explicit Z or UTC offset identifies an instant. With to=, no offset means source-zone wall time; without to=, no offset means UTC. Repeated wall times select the earlier occurrence; skipped times advance by the offset gap. Invalid calendar dates return 400.
- tostring · query · optional
Destination IANA timezone. Appends to with local at, unix, timezone, abbreviation, offset, and dst for the same instant. deep=true adds name, offset_minutes, and offset_seconds inside to.deep.
- deepboolean · query · optional
Friendly zone name, numeric offset representations and the next offset transition. Included on every plan, with no additional charge.
Values:
true
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.time("America/New_York", { at: "2026-08-29T15:00", to: "Asia/Tokyo" });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"timezone": "America/New_York",
"abbreviation": "EDT",
"offset": "-04:00",
"dst": true,
"at": "2026-08-29T15:00:00-04:00",
"unix": 1788030000,
"to": {
"timezone": "Asia/Tokyo",
"abbreviation": "JST",
"offset": "+09:00",
"dst": false,
"at": "2026-08-30T04:00:00+09:00",
"unix": 1788030000
}
}With to, a timestamp without a UTC offset reads as wall time in the source timezone. A repeated time when clocks move back selects the earlier occurrence. A skipped time when clocks move forward advances by the size of the gap. Include an explicit offset to choose an exact instant. Without to, an offsetless timestamp reads as UTC. Invalid dates return 400 instead of rolling into another month.
The dst flag follows timezone rules, including negative daylight-saving adjustments. Use offset and at for the actual local clock. Historical zones can have offsets with seconds. deep.offset_seconds is exact;deep.offset_minutes keeps whole minutes for existing clients. When at has an offset such as +00:09:21, use unixin parsers that only accept whole-minute offsets. In JavaScript, that is new Date(unix * 1000).
Response fields
- latitude
- Input latitude (coords path only)
- longitude
- Input longitude (coords path only)
- timezone
- IANA timezone id. Nautical Etc/GMT zone over open ocean
- abbreviation
- Timezone-rule abbreviation, such as EDT or JST; some zones use numeric labels. Not a unique timezone identifier
- offset
- UTC offset as ±HH:MM. Historical subminute offsets include :SS
- dst
- Daylight-saving indicator from the timezone rules at the reference time, including negative seasonal adjustments
- at
- Local date and time as ISO 8601 with the resolved UTC offset. Always present; now unless ?at= selects a moment. Null for an unresolved coordinate
- to
- With ?to= only: the other zone evaluated at the same instant
- unix
- Unix timestamp in seconds for the resolved instant. Always present; fractional seconds round down. Null for an unresolved coordinate
- to.at
- The converted local date and time, ISO with its UTC offset
- to.unix
- The same Unix timestamp as unix: both zones describe one instant
Existing /timezone integrations continue to work. Use /time for new integrations.
Deep
?deep=true Friendly zone name, numeric offset representations and the next offset transition. Included on every plan, with no additional charge.
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.time("America/New_York", { at: "2026-08-29T19:00:00Z", deep: true });
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"timezone": "America/New_York",
"abbreviation": "EDT",
"offset": "-04:00",
"dst": true,
"at": "2026-08-29T15:00:00-04:00",
"unix": 1788030000,
"deep": {
"name": "Eastern Time",
"offset_minutes": -240,
"offset_seconds": -14400,
"next_dst": {
"at": "2026-11-01T06:00:00.000Z",
"dst": false,
"offset": "-05:00",
"abbreviation": "EST"
}
}
}Deep fields
- deep.name
- Friendly / generic name (e.g. Eastern Time)
- deep.offset_minutes
- UTC offset in whole minutes, truncated toward zero
- deep.offset_seconds
- Exact UTC offset in seconds, including historical subminute offsets
- deep.next_dst
- Next offset transition after the reference time, or null
Build with Time
- Find an open store nearby
- Show an event in the visitor's time zone
- Find shared working hours
- Show opening hours on a business page
Questions? Email