2

南アフリカ時間を任意の世界時に変換したいと考えています。次の値を使用できます: タイムゾーン (つまり、ブリュッセルの場合は 60) とオフセット = 60。

私はこれを試しました:

var newDate = DateTime.Now.AddMinutes(60);

しかし、ブリュッセルの正しい日時の値が得られません。

4

3 に答える 3

1

DateTime.ToUniversalTime()DateTimeを使用して、任意の時間を世界時 (UTC) に変換できます。ブリュッセルは 1 時間進んでいるので、それに 1 時間 (夏時間の場合) を追加するか、そうでない場合は 2 時間を追加します。

于 2012-09-05T08:26:24.470 に答える
1

したがって、MSDNページに応じて、次のようなものを使用できます(正しいタイムゾーンを選択することを忘れないでください):

DateTime hwTime = DateTime.Now;
try
{
   TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
   Console.WriteLine("{0} {1} is {2} local time.", 
           hwTime, 
           hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName, 
           TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Hawaiian STandard Time zone has been corrupted.");
}
于 2012-09-05T08:12:32.927 に答える
0

見てください: http://msdn.microsoft.com/en-us/library/bb397769.aspx

于 2012-09-05T08:14:33.260 に答える