是否有一个函数可以解析 POSIX 时区并验证它?
我有以下格式的时区
NZST-12.00:00NZDT-13:00:00,M10.1.0,M3.3.0
,或者
CET-1CEST,M3.5.0,M10.5.0/3
是否有函数或库可以在 C 中解析和验证它们?
I have timezones in the format of
NZST-12.00:00NZDT-13:00:00,M10.1.0,M3.3.0
or
CET-1CEST,M3.5.0,M10.5.0/3
is there a function or library to parse and validate them in C?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,因为像 C 库这样的代码就是这样做的。因此,此类代码至少有三个开源代码:
如今,Olson 代码可以在 IANA 的 https://www.iana.org/time-zones 为
tzcode2017a.tar.gz
并为tzdata2017a.tar.gz
获取数据(或通过 FTP 访问 ftp://ftp.iana.org/tz/releases/tzcode2017a.tar.gz — 数据为 ftp://ftp.iana.org/tz/releases/tzdata2017a.tar.gz< /a>)。很久以前,代码曾经位于 ftp://elsie.nci.nih.gov /pub — 例如,在文件
tzcode2011h.tar.gz
中(时区信息位于tzdata2011h.tar.gz
中)。如果需要,这些旧版本也可以从 IANA 获取。文件名中的版本号会定期变化;前缀保持不变,但年份(2011 与 2017)和版本(
h
与a
— 并且 2011 至 2017 年间每年都有许多版本)年内随时间变化。Yes, because code like the C library does so. So, there are at least three open sources for such code:
Nowadays, the Olson code can be found at IANA under https://www.iana.org/time-zones as
tzcode2017a.tar.gz
and astzdata2017a.tar.gz
for the data (or via FTP at ftp://ftp.iana.org/tz/releases/tzcode2017a.tar.gz — and the data as ftp://ftp.iana.org/tz/releases/tzdata2017a.tar.gz).Once upon a long time ago, the code used to be at ftp://elsie.nci.nih.gov/pub — for example, in the file
tzcode2011h.tar.gz
(the time zone information is intzdata2011h.tar.gz
). These old releases are available from IANA too if desired.The version number in the file names changes periodically; the prefix stays the same, but the year (2011 vs 2017) and the release (
h
vsa
— and there were many releases in each year in between 2011 and 2017) within the year varies over time.