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-claude-spawn-pty-support/QoBJ_wda4qs1OZ4-/icons/typescript.svg?fit=max&auto=format&n=QoBJ_wda4qs1OZ4-&q=85&s=7e69f1d0981fed9617c1ae7f85ad9758process.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-claude-spawn-pty-support/QoBJ_wda4qs1OZ4-/icons/typescript.svg?fit=max&auto=format&n=QoBJ_wda4qs1OZ4-&q=85&s=7e69f1d0981fed9617c1ae7f85ad9758process.ts
new Date().getHours(); // => 18

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

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