TimeZoneInfo.ClearCachedData Metod

Definition

Rensar cachelagrade tidszonsdata.

public:
 static void ClearCachedData();
public static void ClearCachedData();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()

Kommentarer

Cachelagrade tidszonsdata innehåller data om den lokala tidszonen och UTC-zonen (Coordinated Universal Time).

Du kan anropa ClearCachedData metoden för att minska det minne som ägnas åt programmets cachelagring av tidszonsinformation eller för att återspegla det faktum att det lokala systemets tidszon har ändrats.

Det rekommenderas inte att du lagrar referenser till lokala tidszoner och UTC-tidszoner. Efter anropet ClearCachedData till metoden är dessa objektvariabler odefinierade TimeZoneInfo objekt som inte längre är referenser till TimeZoneInfo.Local eller TimeZoneInfo.Utc. I följande kod genererar till exempel det andra anropet TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) till metoden en ArgumentException eftersom variabeln local inte längre anses vara lika med 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

Gäller för