Function: zonedWallTimeToUtc()
zonedWallTimeToUtc(
dateISO,timeHHMM,timeZone):Date
Defined in: src/lib/dates/tz.ts:125
The UTC instant for a wall-clock time (HH:MM) on a business day (YYYY-MM-DD) in timeZone.
Used to store a manual from–to pair's started_at/ended_at. (DST-transition wall times that
don't exist/repeat resolve to a single nearby instant — acceptable for hour logging.)
Inverse of businessDayInTz + formatTimeInTz: takes a date and time as the user
sees them on the local clock and returns the corresponding absolute UTC Date for storage.
The offset is taken at the wall time itself (DST-aware), so the same HH:MM on a summer vs
winter day yields the correct distinct UTC instants.
Parameters
dateISO
string
The local calendar day as YYYY-MM-DD (as produced by businessDayInTz).
timeHHMM
string
The local wall-clock time as 24-hour HH:MM (as produced by formatTimeInTz).
timeZone
string
IANA timezone identifier the wall time is expressed in (e.g. America/New_York).
Returns
Date
A Date representing the absolute UTC instant. Store UTC; render via the tz helpers.
Throws
RangeError If dateISO/timeHHMM do not form a valid YYYY-MM-DDTHH:MM instant, or if timeZone is invalid.
Example
// 09:00 on 2026-06-21 in New York (EDT, UTC−4) → 13:00Z
zonedWallTimeToUtc('2026-06-21', '09:00', 'America/New_York');