TimeZoneInfo.ClearCachedData Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Czyści buforowane dane strefy czasowej.
public:
static void ClearCachedData();
public static void ClearCachedData ();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()
Uwagi
Buforowane dane strefy czasowej obejmują dane w lokalnej strefie czasowej i strefie uniwersalnego czasu koordynowanego (UTC).
Metodę ClearCachedData
można wywołać, aby zmniejszyć ilość pamięci poświęconej pamięci podręcznej aplikacji informacji o strefie czasowej lub odzwierciedlić fakt, że strefa czasowa systemu lokalnego uległa zmianie.
Przechowywanie odwołań do stref czasowych lokalnych i UTC nie jest zalecane. Po wywołaniu ClearCachedData
metody te zmienne obiektu będą niezdefiniowane TimeZoneInfo obiekty, które nie odwołują się już do TimeZoneInfo.Local metody lub TimeZoneInfo.Utc. Na przykład w poniższym kodzie drugie wywołanie TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) metody zgłasza błąd, ponieważ zmienna local
nie jest już uznawana za równą 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