TimeZoneInfo.ClearCachedData Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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