apache / airflow

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
https://airflow.apache.org/
Apache License 2.0
36.39k stars 14.11k forks source link

Some timezones in Web UI shows as number, not timezone name #17906

Closed baryluk closed 3 years ago

baryluk commented 3 years ago

Apache Airflow version

2.1.2

Operating System

Linux

Versions of Apache Airflow Providers

2.1.2

Deployment

Other 3rd-party Helm chart

Deployment details

n/a

What happened

Go to Web UI,

search for example for "Chile/Continental" , after clicking it will be added to the list of timezones, but will be displayed as "-04 (-04:00)".

Screenshot from 2021-08-30 10-25-55

It happens for many other timezones.

What you expected to happen

"CLT (-04:00)" at this time of a year maybe?

How to reproduce

Clear

Anything else

n/a

Are you willing to submit PR?

Code of Conduct

SamWheating commented 3 years ago

This comes down to the intended behaviour of moment-timezone, the JS package used for handling timezones in the UI. Here's the part of the source which populates that field: https://github.com/apache/airflow/blob/dd386c81f50fe2a93cf0bff0c3da2c66f2dc6e6a/airflow/www/static/js/datetime_utils.js#L23-L33

You can replicate this behaviour by running the relevant line of code in the javascript console of the Airflow webserver:

> moment().tz("America/Vancouver").format('z (Z)')
"PDT (-07:00)"

> moment().tz("Chile/Continental").format('z (Z)')
"-04 (-04:00)"

Looking into the discussion in this issue on moment-timezone, I believe that this is intended behaviour for some timezones due to this ICANN change from 2017 in which it was decided to use numeric abbreviations for many South American time zones.

So in short, I don't think that this issue is something that can be reasonably fixed within Airflow.

baryluk commented 3 years ago

Ok. Thanks.