TimeZone Formatting in Expression

Our gateway is based in PDT but most of our clients are in EDT. In the designer, we can select Perspective>Project Timezone to be either America/New_York or Client Timezone. The Perspective timeZoneID changes appropriately and the now() function returns the correct time. However, if I use dateFormat(now(), ‘z’), I’ll get PDT and any time will be shown in PDT. Am I missing something?

Perspective expressions are always executed on the Gateway, so what you’re seeing is exactly what I expect to happen.

What does “Perspective>Project Timezone” affect then? What gets evaluted on the client and what gets resolved on the Gateway?

The answer is, it depends. Things like charts pretty much entirely reside in the client - but all of the things that are common to different Ignition scopes (expressions, Python scripting) by necessity have to run on the backend; there’s no [1] way to run Python code directly in the web browser, nor our custom, Java-based expression language.