Il blog di Giuseppe Marchi - SharePoint MVP
NAVIGATION - SEARCH

La nuova classe TimeZoneInfo

All'interno del .NET Framework 3.5 è stata inserita una nuova classe veramente utile, a supporto della classe TimeZone, per offrire delle funzionalità riguardo la gestione di date su differenti zone geografiche. La classe in questione è la TimeZoneInfo, che appunto rappresenta una time zone del mondo.
Attraverso questa classe possiamo quindi:
  • controllare quale time zone è settata di default sulla macchina,
  • prelevare l'elenco delle time zone installate
  • , creare nuove time zone personalizzate,
  • convertire date secondo una particolare time zone,
  • controllare l'ambiguità o la validità di una particolare data a fronte di una particolare time zone,
  • accedere alle informazioni di base di ogni time zone (quali il nome, l'identificativo e il numero di ore di offset rispetto all'UTC)
Vi lascio un breve esempio d'utilizzo:

protected void Page_Load(object sender, EventArgs e)

{

    TimeZoneInfo locale = TimeZoneInfo.Local;

 

    lblCurrentTimeZone.Text = locale.DisplayName;

 

    foreach (TimeZoneInfo zone in TimeZoneInfo.GetSystemTimeZones())


        lstBoxTimeZones.Items.Add(new ListItem(zone.DisplayName, zone.Id));

 

    lblDate.Text = String.Format("Data locale: {0}<br />Data in UTC: {1}",

        DateTime.Now,

        TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, locale));

 

}


Io trovo questa classe particolarmente utile, in quanto prima della sua introduzione all'interno del .NET Framework, tali operazioni potevano essere eseguite solamente attraverso delle chiamate dirette alle API di windows.
blog comments powered by Disqus