2012-06-11 104 views
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语言代码。请有任何想法吗?

+0

@dirkgently:No;这个问题与'闰年障碍'问题完全无关。这是问日历日期之间的几天。这是询问TZ环境变量的内部运作。 –

+0

@JonathanLeffler:啊,好吧。 – dirkgently

回答

0

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

相关问题