TimeZoneInfo.ClearCachedData Méthode

Définition

Efface les données de fuseau horaire mises en cache.

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

Remarques

Les données de fuseau horaire mises en cache incluent des données sur le fuseau horaire local et le fuseau horaire universel coordonné (UTC).

Vous pouvez appeler la ClearCachedData méthode pour réduire la mémoire consacrée au cache des informations de fuseau horaire de l’application ou pour refléter le fait que le fuseau horaire du système local a changé.

Le stockage de références aux fuseaux horaires locaux et UTC n’est pas recommandé. Après l’appel à la ClearCachedData méthode, ces variables d’objet sont des objets non définis TimeZoneInfo auxquels il n’est plus fait référence TimeZoneInfo.Local ou TimeZoneInfo.Utc. Par exemple, dans le code suivant, le deuxième appel à la TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) méthode lève un ArgumentException car la local variable n’est plus considérée comme égale à 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

S’applique à