Ora e fusi orari
Aggiornamento: novembre 2007
Oltre alla struttura DateTime di base, .NET Framework include le classi seguenti che supportano l'utilizzo dei fusi orari:
-
Utilizzare questa classe per lavorare con il fuso orario locale del sistema e l'ora UTC (Coordinated Universal Time). La funzionalità della classe TimeZone è ampiamente sostituita dalla classe TimeZoneInfo.
-
Utilizzare questa classe per lavorare con qualsiasi fuso orario predefinito di un sistema, per creare fusi orari nuovi e per convertire facilmente date e ore da un fuso orario all'altro. Per lo sviluppo di nuovo codice, utilizzare la classe TimeZoneInfo invece della classe TimeZone.
-
Utilizzare questa struttura per lavorare con date e ore il cui offset (o differenza) dall'ora UTC è conosciuto. La struttura DateTimeOffset combina un valore di data e ora con il relativo offset rispetto all'ora UTC. A causa della relazione con UTC, un singolo valore di data e ora identifica uno specifico momento in modo inequivocabile. Ciò migliora la portabilità di un valore DateTimeOffset da un computer all'altro rispetto a un valore DateTime.
In questa sezione sono contenute le informazioni necessarie per utilizzare i fusi orari e per creare applicazioni dipendenti dal fuso orario in grado di convertire date e ore da uno fuso orario all'altro.
In questa sezione
Vengono illustrati la terminologia, i concetti e i problemi relativi alla creazione di applicazioni che dipendono dal fuso orario.
Scelta tra DateTime, DateTimeOffset e TimeZoneInfo
Viene illustrato quando utilizzare i tipi DateTime, DateTimeOffset e TimeZoneInfo con i valori di data e ora.
Ricerca dei fusi orari definiti in un sistema locale
Viene descritto come enumerare i fusi orari individuati in un sistema locale.
Procedura: enumerare i fusi orari presenti in un computer
Vengono forniti esempi che enumerano i fusi orari definiti nel Registro di sistema di un computer e che consentono agli utenti di selezionare un fuso orario predefinito da un elenco.
Procedura: accedere agli oggetti predefiniti dell'ora UTC e del fuso orario locale
Viene descritto come accedere all'ora UCT (Coordinated Universal Time) e al fuso orario locale.
Procedura: creare un'istanza di un oggetto TimeZoneInfo
Viene descritto come creare un'istanza di un oggetto TimeZoneInfo dal Registro di sistema locale.
Creazione di un'istanza di un oggetto DateTimeOffset
Vengono illustrate le modalità per la creazione di un'istanza di un oggetto DateTimeOffset, nonché quelle per la conversione di un valore DateTime in un valore DateTimeOffset.
Procedura: creare fusi orari senza regole di regolazione
Viene descritto come creare un fuso orario personalizzato che non supporta la transizione da e verso l'ora legale.
Procedura: creare fusi orari con regole di regolazione
Viene descritto come creare un fuso orario personalizzato che supporta una o più transizioni da e verso l'ora legale.
Salvataggio e ripristino dei fusi orari
Viene descritto il supporto TimeZoneInfo per la serializzazione e la deserializzazione dei dati relativi al fuso orario e vengono illustrati alcuni scenari in cui è possibile utilizzarli.
Procedura: salvare fusi orari in una risorsa incorporata
Viene descritto come creare un fuso orario personalizzato e salvarne le informazioni in un file di risorse.
Procedura: ripristinare i fusi orari da una risorsa incorporata
Viene descritto come creare un'istanza dei fusi orari personalizzati salvati in un file di risorse incorporato.
Esecuzione di operazioni aritmetiche con date e ore
Vengono descritti i problemi relativi all'aggiunta, alla sottrazione e al confronto dei valori DateTime e DateTimeOffset.
Procedura: utilizzare fusi orari nell'aritmetica di data e ora
Viene descritto come eseguire operazioni aritmetiche con date e ore che riflettono le regole di rettifica di un fuso orario.
Conversione tra DateTime e DateTimeOffset
Viene descritto come eseguire la conversione tra valori DateTime e DateTimeOffset.
Conversione degli orari tra fusi orari
Viene descritto come convertire gli orari da un fuso orario all'altro.
Procedura: risolvere orari ambigui
Viene descritto come risolvere un'ora ambigua eseguendone il mapping all'ora standard del fuso orario.
Procedura: consentire agli utenti di risolvere orari ambigui
Viene descritto come consentire a un utente di determinare il mapping tra un'ora locale ambigua e un'ora UCT (Coordinated Universal Time).