英語で読む

次の方法で共有


TimeZoneInfo.ClearCachedData メソッド

定義

キャッシュされたタイム ゾーン データをクリアします。

C#
public static void ClearCachedData ();

注釈

キャッシュされたタイム ゾーン データには、ローカル タイム ゾーンと世界協定時刻 (UTC) ゾーンのデータが含まれます。

このメソッドを ClearCachedData 呼び出して、アプリケーションのタイム ゾーン情報のキャッシュに割り当てられるメモリを減らすか、ローカル システムのタイム ゾーンが変更されたという事実を反映することができます。

ローカル タイム ゾーンと UTC タイム ゾーンへの参照を格納することはお勧めしません。 メソッドのClearCachedData呼び出し後、これらのオブジェクト変数は、参照TimeZoneInfo.Localされなくなった未定義TimeZoneInfoのオブジェクトになりますTimeZoneInfo.Utc。 たとえば、次のコードでは、変数が等しいと見なされなくなったため、メソッドの TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) 2 番目のlocal呼び出しは an ArgumentExceptionTimeZoneInfo.Localスローします。

C#
TimeZoneInfo cst = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
TimeZoneInfo local = TimeZoneInfo.Local;
Console.WriteLine(TimeZoneInfo.ConvertTime(DateTime.Now, local, cst));

TimeZoneInfo.ClearCachedData();
try
{
   Console.WriteLine(TimeZoneInfo.ConvertTime(DateTime.Now, local, cst));
}
catch (ArgumentException e)
{
   Console.WriteLine(e.GetType().Name + "\n   " + e.Message);
}

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1