2

我对 TZ 环境变量有疑问。我的时区配置字符串为

CST+6CDT,M3.2.0/02:00:00,M11.1.0/02:00:00.

从 TZ 字符串中,我需要获取当年 M3.2.0 和 M11.1.0 的天数。我还需要以 UTC 秒计算夏令时的开始和结束(从 1970 年 1 月 1 日的 00:00:00 开始)。

我可以使用时间函数获取当前年份。

C语言代码。请问有什么想法吗?

4

1 回答 1

0

这并不容易,而且很少有宝贵的标准 C 代码(更不用说标准 C 代码)可以提供帮助。部分解决方案的一个可能来源是 IANA 的奥尔森时区数据库。有时区数据本身,但也有处理时区信息的代码包。这包括代理标准 C 库函数,以及一些扩展库代码。该代码确实处理了 TZ 变量;因此,它有可以帮助你的代码。该代码是否易于访问是另一回事。确定时区转换(标准到夏令时,或冬季到夏季时间)也很棘手。有代码可以做到这一点,但找到它可能会很棘手。

于 2012-06-11T19:12:49.460 回答