TimeZoneInfo.ClearCachedData Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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