2010-09-01 43 views
1

我們使用「America/New_York」約定爲用戶選擇時區,但在我們的資源受限系統中,我們必須手動提供實際的TZ變量。例如,對於紐約,我們有:將Olson時區文件轉換爲TZ環境變量

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

但是,資源發現提供這些環境設置只有美國所有地區的一個子集,而我試圖建構其餘的。例如,我需要製造America/Kentucky/LouisvilleAmerica/Boise

是否有資源可以將Olson約定轉換爲TZ環境變量的內置或現有腳本?我搜索了一段時間,找不到任何東西(並且對於自己實現邏輯感到緊張)。

TIA 麥克

回答

0

每個時區的描述通常存儲在文件中/usr/share/zoneinfo下(例如/usr/share/zoneinfo/America/Kentucky/Louisville)。 tzfile(5)手冊頁描述了這些文件的結構。

請注意,這些文件包含根據日期使用的不同規則,以說明每個時區的時間規則的過去和未來政治變化(因此您不能只是說「給我的字符串爲America/Kentucky/Louisville 「,你必須說」給我的字符串爲America/Kentucky/Louisville,截至2010年9月2日有效「)。

相關問題