Procedura: creare fusi orari senza regole di regolazioneHow to: Create time zones without adjustment rules

Le informazioni di fuso orario preciso richiesto da un'applicazione potrebbero non essere presente in un determinato sistema per diversi motivi:The precise time zone information that is required by an application may not be present on a particular system for several reasons:

  • Il fuso orario non è mai stato definito nel Registro di sistema del sistema locale.The time zone has never been defined in the local system's registry.

  • Dati sul fuso orario sono stati modificati o rimossi dal Registro di sistema.Data about the time zone has been modified or removed from the registry.

  • Il fuso orario esiste ma non dispone di informazioni accurate sulle regolazioni del fuso orario per un determinato periodo storico.The time zone exists but does not have accurate information about time zone adjustments for a particular historic period.

In questi casi, è possibile chiamare il CreateCustomTimeZone metodo per definire il fuso orario richiesto dall'applicazione.In these cases, you can call the CreateCustomTimeZone method to define the time zone required by your application. È possibile utilizzare l'overload di questo metodo per creare un fuso orario con o senza regole di regolazione.You can use the overloads of this method to create a time zone with or without adjustment rules. Se il fuso orario supporta l'ora legale, è possibile definire le regolazioni con entrambe le regole di regolazione fissa o mobile.If the time zone supports daylight saving time, you can define adjustments with either fixed or floating adjustment rules. (Per le definizioni di questi termini, vedere la sezione "Terminologia fuso orario" in Panoramica sul fuso orario.)(For definitions of these terms, see the "Time Zone Terminology" section in Time zone overview.)

Importante

Fusi orari personalizzati creati tramite la chiamata di CreateCustomTimeZone (metodo) non vengono aggiunti al Registro di sistema.Custom time zones created by calling the CreateCustomTimeZone method are not added to the registry. Ma è possibile accedervi solo tramite il riferimento all'oggetto restituito dal CreateCustomTimeZone chiamata al metodo.Instead, they can be accessed only through the object reference returned by the CreateCustomTimeZone method call.

In questo argomento viene illustrato come creare un fuso orario senza regole di regolazione.This topic shows how to create a time zone without adjustment rules. Per creare un fuso orario che supporta le regole di regolazione dell'ora legale, vedere procedura: creare fusi orari con regole di regolazione.To create a time zone that supports daylight saving time adjustment rules, see How to: Create time zones with adjustment rules.

Per creare un fuso orario senza regole di regolazioneTo create a time zone without adjustment rules

  1. Definire nome visualizzato del fuso orario.Define the time zone's display name.

    Il nome visualizzato segue un formato pressoché standard in cui l'offset del fuso orario dall'ora Coordinated Universal Time (UTC) è racchiuso tra parentesi ed è seguito da una stringa che identifica il fuso orario, una o più delle città nel fuso orario, o in uno o più di cou Mo o aree del fuso orario.The display name follows a fairly standard format in which the time zone's offset from Coordinated Universal Time (UTC) is enclosed in parentheses and is followed by a string that identifies the time zone, one or more of the cities in the time zone, or one or more of the countries or regions in the time zone.

  2. Definire il nome dell'ora solare del fuso orario.Define the name of the time zone's standard time. In genere, questa stringa viene utilizzata anche come identificatore del fuso orario.Typically, this string is also used as the time zone's identifier.

  3. Se si desidera utilizzare un identificatore nome standard del fuso orario diverso, definire l'identificatore del fuso orario.If you want to use a different identifier than the time zone's standard name, define the time zone identifier.

  4. Creare un'istanza di un TimeSpan oggetto che definisce l'offset del fuso orario dall'ora UTC.Instantiate a TimeSpan object that defines the time zone's offset from UTC. Fusi orari con ore in avanti rispetto all'ora UTC hanno un offset positivo.Time zones with times that are later than UTC have a positive offset. Fusi orari con ore precedenti rispetto all'ora UTC hanno un offset negativo.Time zones with times that are earlier than UTC have a negative offset.

  5. Chiamare il TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) metodo per creare un'istanza del nuovo fuso orario.Call the TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) method to instantiate the new time zone.

EsempioExample

Nell'esempio seguente definisce un fuso orario personalizzato per Mawson, Antartide senza regole di regolazione.The following example defines a custom time zone for Mawson, Antarctica, which has no adjustment rules.

string displayName = "(GMT+06:00) Antarctica/Mawson Time";
string standardName = "Mawson Time"; 
TimeSpan offset = new TimeSpan(06, 00, 00);
TimeZoneInfo mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName);
Console.WriteLine("The current time is {0} {1}", 
                  TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson),
                  mawson.StandardName);      
Dim displayName As String = "(GMT+06:00) Antarctica/Mawson Time"
Dim standardName As String = "Mawson Time" 
Dim offset As TimeSpan = New TimeSpan(06, 00, 00)
Dim mawson As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
Console.WriteLine("The current time is {0} {1}", _ 
                  TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, mawson), _
                  mawson.StandardName)      

La stringa assegnata al DisplayName proprietà segue un formato standard in cui l'offset del fuso orario dall'ora UTC è seguito da una semplice descrizione del fuso orario.The string assigned to the DisplayName property follows a standard format in which the time zone's offset from UTC is followed by a friendly description of the time zone.

Compilazione del codiceCompiling the code

L'esempio presenta i requisiti seguenti:This example requires:

  • Un riferimento a System.Core.dll essere aggiunto al progetto.That a reference to System.Core.dll be added to the project.

  • Che importati spazi dei nomi seguenti:That the following namespaces be imported:

    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    
    Imports System.Collections.Generic
    Imports System.Collections.ObjectModel
    

Vedere ancheSee also

Date, ore e fusi orari Panoramica sul fuso orario procedura: creare fusi orari con regole di regolazioneDates, times, and time zones Time zone overview How to: Create time zones with adjustment rules