TimeZoneInfo.ClearCachedData メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
キャッシュされたタイム ゾーン データをクリアします。
public:
static void ClearCachedData();
public static void ClearCachedData ();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()
注釈
キャッシュされたタイム ゾーン データには、ローカル タイム ゾーンと世界協定時刻 (UTC) ゾーンのデータが含まれます。
このメソッドを ClearCachedData
呼び出して、アプリケーションのタイム ゾーン情報のキャッシュに割り当てられるメモリを減らすか、ローカル システムのタイム ゾーンが変更されたという事実を反映することができます。
ローカル タイム ゾーンと UTC タイム ゾーンへの参照を格納することはお勧めしません。 メソッドのClearCachedData
呼び出し後、これらのオブジェクト変数は、参照TimeZoneInfo.Localされなくなった未定義TimeZoneInfoのオブジェクトになりますTimeZoneInfo.Utc。 たとえば、次のコードでは、変数が等しいと見なされなくなったため、メソッドの TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) 2 番目のlocal
呼び出しは an ArgumentException をTimeZoneInfo.Localスローします。
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);
}
open System
let cst = TimeZoneInfo.FindSystemTimeZoneById "Central Standard Time"
let local = TimeZoneInfo.Local
printfn $"{TimeZoneInfo.ConvertTime(DateTime.Now, local, cst)}"
TimeZoneInfo.ClearCachedData()
try
printfn $"{TimeZoneInfo.ConvertTime(DateTime.Now, local, cst)}"
with :? ArgumentException as e ->
printfn $"{e.GetType().Name}\n {e.Message}"
Dim cst As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")
Dim local As TimeZoneInfo = TimeZoneInfo.Local
Console.WriteLine(TimeZoneInfo.ConvertTime(Date.Now, local, cst))
TimeZoneInfo.ClearCachedData()
Try
Console.WriteLine(TimeZoneInfo.ConvertTime(Date.Now, local, cst))
Catch e As ArgumentException
Console.WriteLine(e.GetType().Name & vbCrLf & " " & e.Message)
End Try