我们使用“America / New_York”约定为用户选择时区,但在我们的资源受限系统中,我们必须手动提供实际的TZ变量。例如,对于纽约,我们有:
timezones["America/New_York"] = "EST5EDT,M3.2.0,M11.1.0";
但是,我们发现提供这些环境设置的资源只有美国所有地区的子集,我正在尝试构建剩余的资源。例如,我需要建立 America / Kentucky / Louisville 和 America / Boise 。
是否有资源使用此构建或现有脚本可以将Olson约定转换为TZ环境变量?我用谷歌搜索了一段时间,找不到任何东西(我对自己实现逻辑感到紧张)。
TIA 麦克
答案 0 :(得分:0)
每个时区的描述通常存储在/usr/share/zoneinfo
下的文件中(例如/usr/share/zoneinfo/America/Kentucky/Louisville
)。 tzfile(5)手册页描述了这些文件的结构。
请注意,根据日期,文件包含不同的规则,以说明每个时区的时间规则的过去和未来政治更改(因此您不能只说“给我{{{ 1}}“,你必须说”给我America/Kentucky/Louisville
的字符串,有效期至2010年9月2日“。