Partager via


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 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 seront des objets non définis TimeZoneInfo qui ne sont plus des références à 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 une 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 à