Date, ore e fusi orari

Oltre alla struttura di base DateTime, .NET fornisce le classi seguenti che supportano l'uso dei fusi orari:

  • TimeZone

    Usare questa classe con il fuso orario locale del sistema e il fuso UTC (Coordinated Universal Time). La funzionalità della TimeZone classe è ampiamente sostituita dalla TimeZoneInfo classe.

  • TimeZoneInfo

    Utilizzare questa classe per utilizzare qualsiasi fuso orario predefinito in un sistema, per creare nuovi fusi orari e per convertire facilmente date e ore da un fuso orario a un altro. Per i nuovi progetti di sviluppo usare la classe TimeZoneInfo anziché la classe TimeZone.

  • DateTimeOffset

    Usare questa struttura con le date e le ore il cui offset (o differenza) rispetto all'ora UTC è noto. La struttura DateTimeOffset combina un valore di data e ora con l'offset di quell'ora rispetto all'ora UTC. Per via della relazione con l'ora UTC, un singolo valore di data e ora identifica un momento specifico senza ambiguità. Un valore DateTimeOffset risulta pertanto più portabile da un computer a un altro rispetto a un valore DateTime.

Questa sezione della documentazione include le informazioni necessarie per usare i fusi orari e per creare applicazioni in grado di riconoscere i fusi orari e convertire date e ore da un fuso orario a un altro.

Contenuto della sezione

Panoramica sul fuso orario: illustra concetti, terminologia e problemi relativi alla creazione di applicazioni che dipendono dal fuso orario.

Scelta tra DateTime, DateTimeOffset, TimeSpan e TimeZoneInfo Viene illustrato quando utilizzare i DateTime tipi, e quando si utilizzano i DateTimeOffset TimeZoneInfo dati di data e ora.

Ricerca dei fusi orari definiti in un sistema locale: descrive come enumerare i fusi orari che si trovano in un sistema locale.

Procedura: Enumerare i fusi orari presenti in un computer: include 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: descrive come accedere all'ora UTC e al fuso orario locale.

Procedura: creare un'istanza di un oggetto TimeZoneInfo Descrive come creare un'istanza di un oggetto TimeZoneInfo dal Registro di sistema locale.

Creazione di un'istanza di un oggetto DateTimeOffset Illustra i modi per creare un'istanza di un oggetto DateTimeOffset e i modi per convertire un valore DateTime in un valore DateTimeOffset.

Procedura: Creare fusi orari senza regole di regolazione: descrive 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: descrive come creare un fuso orario personalizzato che supporta una o più transizioni da e verso l'ora legale.

Salvataggio e ripristino dei fusi orari Descrive il supporto TimeZoneInfo per la serializzazione e deserializzazione dei dati del fuso orario e illustra alcuni degli scenari in cui è possibile usare tali funzionalità.

Procedura: Salvare fusi orari in una risorsa incorporata: descrive come creare un fuso orario personalizzato e salvare le informazioni in un file di risorse.

Procedura: Ripristinare i fusi orari da una risorsa incorporata: descrive come creare un'istanza di fusi orari personalizzati che sono stati salvati in un file di risorsa incorporata.

Esecuzione di operazioni aritmetiche con date e ore Descrive i problemi relativi ad aggiunta, sottrazione e confronto dei valori DateTime e DateTimeOffset.

Procedura: Usare fusi orari nell'aritmetica di data e ora: illustra come eseguire operazioni aritmetiche di data e ora che riflettano le regole di regolazione di un fuso orario.

Conversione tra DateTime e DateTimeOffset Descrive come eseguire la conversione tra i valori DateTime e DateTimeOffset.

Conversione degli orari tra fusi orari: descrive come eseguire la conversione di ore tra un fuso orario e un altro.

Procedura: Risolvere orari ambigui: descrive come risolvere un orario ambiguo eseguendone il mapping all'ora solare del fuso orario.

Procedura: Consentire agli utenti di risolvere orari ambigui: descrive come consentire agli utenti di determinare il mapping tra un'ora locale ambigua e l'ora UTC.

Riferimento

System.TimeZoneInfo