9

私は C#.net で作業しています - .Net fx は 2.0 であり、異なるタイム ゾーン間の変換をサポートしていません。UTC に基づいてスケジューラを作成しましたが、ロンドンの DTS 期間に 1 時間のエラーが発生しています。正しい DST 調整を使用して、UTC を基準とした任意のタイムゾーンで正しい時間を取得できるように、いくつかの解決策が必要です。

4

1 に答える 1

10

.NET 3.5 への変更はまったく問題外ですか? それはあなたの人生をずっと楽にしてくれるでしょう。そうしないと、プレーンな TimeZone および DaylightSavings クラスだけでなく、P/Invoke を使用して既知のタイムゾーンを取得する必要があります。

William Stacey は、これを行うためのコードをブログに投稿していますが、私は試していないので、その正確性を保証することはできません。(私の経験では、彼はたいていかなり優秀ですが :) 役に立たない場合でも、似たようなコードがあちこちにあることは間違いありません。

彼が使用している API は履歴データにアクセスできないと思います。言い換えれば、DSTは常に10 月の第 1 日曜日 (または規則が何であれ) に始まると想定し、時間の経過とともに規則が変更されたことを認識しません。.NET 3.5 の TimeZoneInfo は、OS がサポートする履歴データをサポートします。

于 2008-10-11T06:09:45.897 に答える