On Tuesday 2021-09-21 16:45, Howard Hinnant wrote:
zoned_time zt{"America/Port-au-Prince", local_days{1957y/June/5} + 19h + 30min}; cout << format("%F %T %Z", clock_cast<tai_clock>(zt.get_sys_time())) << '\n';
[...] IANA time zone names are part of the C++20 API, and pre-1970 data is expected (best effort of course)
I can't really find substance to this claim. The API [speaking of the locate_zone() function] wants a string, but it does not specify which particular string value(s)
In the end we believed that this sentence was the best way to describe the set of time zone names:
http://eel.is/c++draft/time.zone#general-1
[time.zone] describes an interface for accessing the IANA Time Zone Database [...]
With a standard wording so loose, the best interpretation I can give you is that the minimum set of known names in C++20 is that of tzdata1996l. Which may be lacking America/Port-au-Prince. (Probably not, but humour me.)