私が解析し、Cでそれらを検証するための関数やライブラリがありPOSIXタイムゾーンを解析して検証する機能はありますか?
NZST-12.00:00NZDT-13:00:00,M10.1.0,M3.3.0
または
CET-1CEST,M3.5.0,M10.5.0/3
の形式でタイムゾーンがありますか?
私が解析し、Cでそれらを検証するための関数やライブラリがありPOSIXタイムゾーンを解析して検証する機能はありますか?
NZST-12.00:00NZDT-13:00:00,M10.1.0,M3.3.0
または
CET-1CEST,M3.5.0,M10.5.0/3
の形式でタイムゾーンがありますか?
はい、Cライブラリのようなコードがそうです。だから、このようなコードのために少なくとも3つのオープンソースがあります。
は今日では、オルソンコードを見つけることができますIANAでhttps://www.iana.org/time-zonesとしてtzcode2017a.tar.gz
、tzdata2017a.tar.gz
として(またはftp://ftp.iana.org/tz/releases/tzcode2017a.tar.gzのFTPを介して、そしてデータはftp://ftp.iana.org/tz/releases/tzdata2017a.tar.gzとして)。
以前は、コードは以前は(tzdata2011h.tar.gz
)のファイルftp://elsie.nci.nih.gov/pubにありました。これらの古いリリースは、必要に応じてIANAからも入手できます。
ファイル名のバージョン番号は定期的に変更されます。接頭辞は同じですが、年内(2011年と2017年)とリリース(h
とa
- 2011年から2017年の間に各年に多数のリリースがありました)は年々変化します。
まあ、私はgnu libcのソース、特にtzsetのソースを読んでいました。解析は__tzset_parse_tzで行われますが、この関数はプログラムからは使用できません。 –