将Olson时区文件转换为TZ环境变量

时间:2010-09-01 13:14:05

标签: linux uclinux

我们使用“America / New_York”约定为用户选择时区,但在我们的资源受限系统中,我们必须手动提供实际的TZ变量。例如,对于纽约,我们有:

timezones["America/New_York"] = "EST5EDT,M3.2.0,M11.1.0";

但是,我们发现提供这些环境设置的资源只有美国所有地区的子集,我正在尝试构建剩余的资源。例如,我需要建立 America / Kentucky / Louisville America / Boise

是否有资源使用此构建或现有脚本可以将Olson约定转换为TZ环境变量?我用谷歌搜索了一段时间,找不到任何东西(我对自己实现逻辑感到紧张)。

TIA 麦克

1 个答案:

答案 0 :(得分:0)

每个时区的描述通常存储在/usr/share/zoneinfo下的文件中(例如/usr/share/zoneinfo/America/Kentucky/Louisville)。 tzfile(5)手册页描述了这些文件的结构。

请注意,根据日期,文件包含不同的规则,以说明每个时区的时间规则的过去和未来政治更改(因此您不能只说“给我{{{ 1}}“,你必须说”给我America/Kentucky/Louisville的字符串,有效期至2010年9月2日“。