Skip to main content
Bun supports programmatically setting a default time zone for the lifetime of the bun process. To do set, set the value of the TZ environment variable to a valid timezone identifier.
When running a file with bun, the timezone defaults to your system’s configured local time zone.When running tests with bun test, the timezone is set to UTC to make tests more deterministic.
https://mintcdn.com/bun-1dd33a4e-ciro-ws-proxy/5VvA5_lSqM955zlx/icons/typescript.svg?fit=max&auto=format&n=5VvA5_lSqM955zlx&q=85&s=2b3096741a4a19a7060ecd17dee174a4process.ts
process.env.TZ = "America/New_York";

Alternatively, this can be set from the command line when running a Bun command.
terminal
TZ=America/New_York bun run dev

Once TZ is set, any Date instances will have that time zone. By default all dates use your system’s configured time zone.
https://mintcdn.com/bun-1dd33a4e-ciro-ws-proxy/5VvA5_lSqM955zlx/icons/typescript.svg?fit=max&auto=format&n=5VvA5_lSqM955zlx&q=85&s=2b3096741a4a19a7060ecd17dee174a4process.ts
new Date().getHours(); // => 18

process.env.TZ = "America/New_York";

new Date().getHours(); // => 21