2012-04-26 1 views
1

.NETのTimeZoneInfoクラスは、インディアナが夏時間を観測することをなぜ示しますか?私はインディアナ州のどこにESTがあるのか​​といつも考えていました。 DSTを観察していないインディアナ州の部分を表現するために、「米国東部標準時」以外のものを使用する必要がありますか?.NET TimeZoneInfoオブジェクトはDSTを観察していることを示していますか?

Dim timeZones As New List(Of String)() 
With timeZones 
    .Add("Eastern Standard Time") ' Eastern TZ, except parts of Indiana 
    .Add("US Eastern Standard Time") ' parts of Indiana? 
End With 

For Each tz In timeZones 
    Dim tzi As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(tz) 
    buf.AppendLine(tz) 
    buf.AppendFormat("SupportsDaylightSavingTime: {0}", tzi.SupportsDaylightSavingTime).AppendLine() 
    buf.AppendFormat("DisplayName: {0}", tzi.DisplayName).AppendLine() 
    buf.AppendFormat("StandardName: {0}", tzi.StandardName).AppendLine() 
    buf.AppendFormat("DaylightName: {0}", tzi.DaylightName).AppendLine() 
    buf.AppendFormat("IsDaylightSavingTime: {0}", tzi.IsDaylightSavingTime(DateTime.Now)).AppendLine() 
    buf.AppendFormat("Current Local Time: {0}", TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tzi)).AppendLine() 
    buf.AppendFormat("Current UTC Time: {0}", DateTime.UtcNow).AppendLine() 
    buf.AppendLine() 
Next 

結果:

Eastern Standard Time 
SupportsDaylightSavingTime: True 
DisplayName: (UTC-05:00) Eastern Time (US & Canada) 
StandardName: Eastern Standard Time 
DaylightName: Eastern Daylight Time 
IsDaylightSavingTime: True 
Current Local Time: 4/26/2012 10:37:08 AM 
Current UTC Time: 4/26/2012 2:37:08 PM 

US Eastern Standard Time 
SupportsDaylightSavingTime: True 
DisplayName: (UTC-05:00) Indiana (East) 
StandardName: US Eastern Standard Time 
DaylightName: US Eastern Daylight Time 
IsDaylightSavingTime: True 
Current Local Time: 4/26/2012 10:37:08 AM 
Current UTC Time: 4/26/2012 2:37:08 PM 

答えて

1

Wikipedia"What time is it in Indiana"によると、インディアナ州の全体が今DSTを観察する - しかし、どちらかCentralまたは東部時間インチ

「インディアナには一度もありませんが、フォームまたは他のすべての場所で夏時間の節約が行われます。 2005年以前に戻った場合、Windowsのタイムゾーンデータベースが正しく履歴をモデル化しているかどうかは、上記のページでは分かりません。 tzdb databaseは完全な情報を持っています... 複数のアメリカ/インディアナ/ノックス、アメリカ/インディアナ/ピーターズバーグなどの異なるインディアナベースのタイムゾーンID

+0

ありがとうJon!その答えは、基本的には「DSTを使わないのはインディアナ州の正しいタイムゾーンIDです」と2005年に変更されたDSTを実行していて、私はメモを受け取れなかったということです。 – mattmc3

+0

@ mattmc3:ええ、多分。それらのうちのどれかが現在実際にセントラルタイムにいるかどうかによって異なります。それは複雑で、明らかに:) –

+0

私は郵便番号でタイムゾーンを設定していますが、実際には正確ではありませんが、私の目的には十分です。したがって、デュアルタイムゾーンを持つ状態(12)私はインディアナ州でCSTを取得しましたが、夏時間に関心がありました。そして、ええ、それは複雑なやり方です。私はアメリカのタイムゾーンを扱っています。 – mattmc3

関連する問題