> For the complete documentation index, see [llms.txt](https://engine.sygnal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://engine.sygnal.com/usage/unit-testing/datetime-and-timezone-tests.md).

# Datetime & Timezone Tests

Code that uses the current system datetime needs special testing to validate your date math. In Unit Testing, there are two features we use regularly for this.

{% hint style="info" %}
Javascript's Datetime libraries are very difficult to work with effectively. We highly recommend that you use luxon instead.&#x20;
{% endhint %}

## System Clock Changes

When your code uses the browser's system clock for calculations, such as countdown / time-until-event calculations, you can use Jest's system clock change capabilities.&#x20;

## Timezone Changes

Timezone changes can also be made prior to the test being run, for example;

```
TZ=Pacific/Auckland npm test -- --silent=false
```
