TimeZoneInfo.ClearCachedData Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Limpa dados de fuso horário armazenados em cache.
public:
static void ClearCachedData();
public static void ClearCachedData ();
static member ClearCachedData : unit -> unit
Public Shared Sub ClearCachedData ()
Comentários
Os dados de fuso horário armazenados em cache incluem dados no fuso horário local e na zona UTC (Tempo Universal Coordenado).
Você pode chamar o ClearCachedData
método para reduzir a memória dedicada ao cache do aplicativo de informações de fuso horário ou para refletir o fato de que o fuso horário do sistema local foi alterado.
Não é recomendável armazenar referências aos fusos horários local e UTC. Após a chamada ao ClearCachedData
método, essas variáveis de objeto serão objetos indefinidos TimeZoneInfo que não são mais referências a TimeZoneInfo.Local ou TimeZoneInfo.Utc. Por exemplo, no código a seguir, a segunda chamada para o TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) método gera um ArgumentException porque a local
variável não é mais considerada igual a 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