Configure virtual time zones for BackendTask tests.
To set the virtual time itself, see Test.BackendTask.withTime.
UTC time zone (offset 0).
import Test.BackendTask as BackendTaskTest
import Test.BackendTask.Time as BackendTaskTime
BackendTaskTest.init
|> BackendTaskTime.withTimeZone BackendTaskTime.utcA time zone with a fixed offset in minutes from UTC. Negative values are west of UTC (e.g., -300 for US Eastern Standard Time).
import Test.BackendTask.Time as BackendTaskTime
BackendTaskTime.fixedOffsetZone -300A time zone with a default offset and a list of era transitions. Each era
specifies a start time (minutes since epoch) and its UTC offset in minutes.
These values match the format used by Time.customZone.
import Test.BackendTask.Time as BackendTaskTime
-- Mar 10, 2024 07:00 UTC = 1710054000000 ms / 60000 = 28500900 minutes
BackendTaskTime.customTimeZone -300
[ { start = 28500900, offset = -240 } ]Set the default virtual time zone for BackendTask.Time.zone and
BackendTask.Time.zoneFor.
import Test.BackendTask as BackendTaskTest
import Test.BackendTask.Time as BackendTaskTime
BackendTaskTest.init
|> BackendTaskTime.withTimeZone BackendTaskTime.utcRegister a named time zone for BackendTask.Time.zoneByName and
BackendTask.Time.zoneByNameFor.
import Test.BackendTask as BackendTaskTest
import Test.BackendTask.Time as BackendTaskTime
BackendTaskTest.init
|> BackendTaskTime.withTimeZoneByName "America/Chicago"
(BackendTaskTime.fixedOffsetZone -360)
Represents a time zone for use in tests with
withTimeZoneandwithTimeZoneByName. Create values withutc,fixedOffsetZone, orcustomTimeZone.