2017-04-14 15 views
0

W. Aus標準時の.Net/Windows TimeZoneInfoオブジェクトは、夏時間をサポートしていることを示しています。領土の夏時間の遵守に関するオーストラリア政府のサイトでの検索は、西オーストラリア州が2009年にそれを廃止したことを示しているため、2010年から現在までの夏時間節約はありません。W.Aus標準時.Net TimeZoneInfoサポートDaylightSavingsTime問題

私はいくつかのシステムでTimeZoneInfoオブジェクトをチェックしており、すべてW Aus Standard Timeがdstをサポートしていると言います。すべてのレジストリは同じ値です。私はWindows Updatesをチェックして、TimeZoneInfoオブジェクトの更新を見つけることができません。

マイクロソフトがこのオブジェクトを7年以上更新しているように見えたのはなぜですか?何か不足していますか? SupportsDaylightSavingTime性質上the MSDN documentationパー

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time"); 
tzi.SupportsDaylightSavingTime == true 

+1

SiupportsDaylightSavingTimeは、タイムゾーンのDSTルールがあるかどうかを示します。はい、あります、2010年の前の日付をカバーするために必然的にそうです.DSTが現在有効であるとは言わない*。 –

+0

返信ありがとう@Hans。それが今どのように機能しているかは、私にははるかに明確です。 – llc381

答えて

3

私はあなたがこれを見ていると信じて

は、時間帯が時間ルールを保存任意の夏時間を持っているかどうかを示す値を取得します。それは今までは、少なくともである時間の簡単な歴史の中に、持っている場合は、時間帯が現在が夏時間を使用していますかどう

だから、それはあなたを教えていない、それはあなたに伝えますWindowsのタイムゾーンデータ。その後、

あなたはDSTが現在効果でであるかどうかを知りたい場合は、ん:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time"); 
tzi.IsDaylightSavingTime(DateTime.UtcNow) // false 

そして、あなたはそれが特定の年に任意の時点でサポートされているかどうかを知りたい場合は、あなたが調べることができますGetAdjustmentRulesメソッドから返された調整ルールデータ。だから我々は、レジストリで2005前方からのデータがあることがわかります

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 
    \Time Zones\W. Australia Standard Time\Dynamic DST 

Registry

Windowsは、レジストリのタイムゾーンデータを格納します。注意深く見ると、2006年と2009年の間にいくつかのバリエーションも見られます。This articleは、興味があればデータの解釈に役立ちます。

確かに、我々は確認した場合timeanddate.com非常にタイムゾーンの情報のため優れたリソース)、我々は西オーストラリアが実際に2006年から2009年に夏時間を持っていなかったことがわかります。最後に

timeanddate capture

Windowsのタイムゾーンサービスチームが、世界のタイムゾーンデータの変更を維持することに非常にうまく対応していると付け加えます。更新のためにthis blogを監視できます。特に、the June 2016 updateでカバレッジを大幅に拡大し、履歴精度を向上させました。

オーストラリアでは、2016年6月のアップデートで2つの新しいタイムゾーンが追加されました。ユークラの近くで使用されているLord Howe Island(UTC + 10:30 STD、UTC + 11:00 DST)と非公式のCentral Western Time(UTC + 08:45)の1つですが、本土の時間帯。

+0

は完璧な意味を持ち、あなたは私を逃していた情報を正確に指摘しました。 SupportsDaylightSavingsTimeビットが、TimeZoneInfoクラス内の検査ルールメソッドに日付を渡すロジックコントロールとして機能するとは考えていませんでした。これらのオブジェクトを一般的に読み取る方法は、はるかに明確になっています。ありがとうございました!! – llc381

+0

また、Windowsのアップデートに関する情報とリンクに感謝します。私はそれらのリソースの多くに行ってきました。あなたの身分証明書を持っている人を見て、その正確さが正しいことを確認すると、我々のチームが時間を正しく提供していることを確認するというストレスが軽減されます。私たちはあなたのライブラリのいくつかをWindowsオブジェクトとともに使用しています。私たち(そして他の多くの人たち)はこの分野でのあなたのすべての努力に感謝しています! – llc381

+0

うれしい私は助けることができました!また、別のアプローチとして、[野田時代](http://nodatime.org)に目を向けることもできます。 –

関連する問題