2009-08-10 4 views
3

GMTタイムゾーン形式の日付時刻を東部、太平洋、マウンテン、インドなどの他の形式に変換する方法を知っておく必要があります。 c#、asp.net2.0、ドットネットフレームワーク2.0のタイムゾーンフォーマット。GMTからその他(Eastern、Mountain、Pacific、Indian、..)の形式に変換する

ありがとうございました

ルパ。

+0

ため そのはこちらをご覧http://stackoverflow.com/questions/1108644/c-making-sure-datetime-now-returns-a-gmt-1-time/1108670# 1108670 – ThePower

答えて

1
本当に

、あなたはこのために、.NET 3.5をしたい...

は(私は、あなたがおよそ.NET 2.0を尋ね知っているが、これを保存したいです答えは痛み...)その後、前

TimeZoneInfo mountain = TimeZoneInfo.FindSystemTimeZoneById(
    "US Mountain Standard Time"); 
DateTime utc = DateTime.UtcNow; 
DateTime local = TimeZoneInfo.ConvertTimeFromUtc(utc, mountain); 

誰かが将来的には、このトピックを検索するためのheplfulかもしれません。独自のオフセットリストを維持できますが、DSTについて心配する必要があります。

2

.NET 2.0を使用すると、残念なことに、ほとんど詰まっています。 TimeZoneクラスのインスタンスを作成するには、P/Invokeを使用する必要があります。 .NET 3.5以降では、それはずっと良くなっています。TimeZoneInfoでは、非ローカルゾーンを取得できます。 DSTが変更されたときのルールのペアの代わりに、後者のタイムゾーン情報もよりよくサポートされていることを覚えているようです。

GetTimeZoneInformationを使用して情報を取得できますが、それは比較的醜いです。 P/Invokeを使用して変換を行う方法はあるかもしれませんが、それでもまだ毛深い可能性があります。

.NET 2.0を使用するにはどのような要件が必要ですか?あなた自身たくさん.NET 3.5を使用して手間の ...

0

以下のようなメソッドを記述すると、簡単に呼び出すことができます。インド標準時

public DateTime IndianStandard(DateTime currentDate) 
{ 
    TimeZoneInfo mountain = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); 
    DateTime utc = currentDate; 
    return TimeZoneInfo.ConvertTimeFromUtc(utc, mountain); 
} 
関連する問題