Формат POSIX, по-видимому, удовлетворяет единому правилу, тогда как в действительности правила меняются со временем. Мне также непонятно, допускают ли правила POSIX 24:00 как время перехода, и ожидание того, что все переходы указаны в локальное время, кажется неудачным. (В TZDB некоторые правила выражаются в терминах UTC, некоторые - по времени на стене, а некоторые - по стандартным временам. Выполнение «простого» перехода от этого к «все локально» может вызвать некоторые очень тонкие ошибки.) Короче говоря, я ожидал бы, что переход от TZDB к POSIX будет потенциально убыточным.
«Фактические правила» не отображаются через API-интерфейс Noda, поскольку они редко бывают полезны для клиентов (по сравнению с просто получением данных), но вы можете посмотреть код NodaTime.TzdbCompiler
, чтобы увидеть, как Правила TZDB анализируются, сохраняются в памяти и сериализуются на диск. Сериализованный формат не имеет достаточно информации, чтобы всегда восстанавливать исходные правила, но, конечно, вы можете создать свой собственный формат сериализации в вилке.
Для исходных (исходных) исходных данных IANA time zone database - ваша лучшая отправная точка.
Я ответил как мог, но мне непонятно, что вы считаете «реальными правилами», или тем, что вы хотите делать с информацией. Чем больше вы сможете уточнить свой контекст, тем больше мы сможем предоставить. –