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 コードは言うまでもなく) はほとんどありません。解決策の一部として考えられるソースの 1 つは、IANAのOlson Time Zone Databaseです。タイム ゾーン データ自体がありますが、タイム ゾーン情報を処理するコード パッケージもあります。これには、代理の標準 C ライブラリ関数と、一部の拡張ライブラリ コードが含まれます。コードは TZ 変数を処理します。したがって、役立つコードがあります。そのコードに簡単にアクセスできるかどうかは別の問題です。タイム ゾーンの移行 (標準から夏時間、または冬から夏時間) を判断することも注意が必要です。それを行うコードがありますが、それを見つけるのは難しいかもしれません。

于 2012-06-11T19:12:49.460 に答える