I understand the 184 day rule when used to determine things like residency for tax purposes. but how does the ICU use it?

I looked at the C++ code which, fortunately. I never had to learn, and is still Greek to me. ;-)

Thanks in advance.

On 10/16/2023 7:19 PM, Matt Johnson-Pint via tz wrote:
Unfortunately, ICU always uses the 184 day rule to choose the standard name when formatting generic non-location names, regardless of whether a more suitable generic name exists or not.  See the implementation of the formatGenericNonLocationName function (search for usages of the kDstCheckRange constant).

https://github.com/unicode-org/icu/blob/3d1dee683743c4578ced479c10b1fbe25aeacc9a/icu4c/source/i18n/tzgnames.cpp#L594

I agree - this is entirely too complicated.  The fact is that currently, ICU generic names (of any form) are designed to apply in the context of having a date, time, and time zone - not for choosing a time zone from a list.  Sometimes those are the same, but not always.

-Matt


Donald

Photographers fade faster than photographs.

Virus-free.www.avast.com