Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Classe TimeZoneInfo.AdjustmentRule
Collapse the table of content
Expand the table of content
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe TimeZoneInfo.AdjustmentRule

Fornisce informazioni su una regolazione del fuso orario, ad esempio la transizione da ora legale.

System.Object
  System.TimeZoneInfo.AdjustmentRule

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public sealed class AdjustmentRule : IEquatable<TimeZoneInfo.AdjustmentRule>, 
	ISerializable, IDeserializationCallback

Il tipo TimeZoneInfo.AdjustmentRule espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaDateEndOttiene la data in cui la regola di regolazione a questo punto cessa di essere attive.
Proprietà pubblicaDateStartOttiene la data in cui la regola di regolazione ha effetto.
Proprietà pubblicaDaylightDeltaOttiene la quantità di tempo che è necessario formare l'ora legale del fuso orario. Questo periodo di tempo viene aggiunto allo apportate al fuso orario a UTC (Coordinated (UTC) Universal Time).
Proprietà pubblicaDaylightTransitionEndOttiene le informazioni sulla transizione annuale da ora legale a ora solare.
Proprietà pubblicaDaylightTransitionStartOttiene le informazioni sulla transizione annuale da ora solare a ora legale.
In alto

  NomeDescrizione
Metodo pubblicoMembro staticoCreateAdjustmentRuleCrea una nuova regola di regolazione per un determinato fuso orario.
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoEquals(TimeZoneInfo.AdjustmentRule)Determina se l'oggetto corrente TimeZoneInfo.AdjustmentRule l'oggetto è uguale a un altro TimeZoneInfo.AdjustmentRule oggetto.
Metodo pubblicoGetHashCode Funge da funzione hash per algoritmi di hash e strutture dati, quali ad esempio tabelle hash. (Esegue l'override di Object.GetHashCode()).
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoIDeserializationCallback.OnDeserializationInfrastruttura. Viene eseguito quando la deserializzazione di un oggetto TimeZoneInfo.AdjustmentRule l'oggetto viene completato.
Implementazione esplicita dell'interfacciaMetodo privatoISerializable.GetObjectDataInfrastruttura. Popola un oggetto SerializationInfo oggetto con i dati che sono necessari serializzare questo oggetto.
In alto

TimeZoneInfo.AdjustmentRule la classe definisce l'inizio effettivo e la data di fine di un cambiamento di un'ora specifici da e verso l'ora legale, rispettivamente nonché il delta (l'importo esatto che la regolazione causa l'ora solare del fuso orario cambiare). inoltre, un ritorno di due proprietà TimeZoneInfo.TransitionTime oggetti che definiscono quando ogni transizione da ora solare a ora si verifica.

NotaNota

Un'istanza di TimeZoneInfo.AdjustmentRule la classe non è modificabile. Un oggetto è stato creato una volta, i valori non può essere modificato.

Per creare un oggetto TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule l'oggetto, chiama di TimeZoneInfo.AdjustmentRule ( static in Visual Basic) Shared metodo. È quindi possibile fornire una matrice di TimeZoneInfo.AdjustmentRule oggetti a due degli overload di TimeZoneInfo.CreateCustomTimeZone metodo. Per recuperare le regole di regolazione di particolare fuso orario, chiamare proprio TimeZoneInfo.GetAdjustmentRules metodo, che restituisce una matrice TimeZoneInfo.AdjustmentRule oggetti.

NotaNota

L'attributo HostProtectionAttribute applicato a questo tipo di membro dispone del seguente valore per la proprietà Resources: MayLeakOnAbort. L'oggetto HostProtectionAttribute non influisce sulle applicazioni desktop, che in genere vengono avviate facendo doppio clic sull'icona, digitando un comando oppure immettendo un URL in un browser. Per ulteriori informazioni, vedere la classe HostProtectionAttribute o programmazione per SQL Server e attributi di protezione host.

Nell'esempio vengono recuperati tutti i fusi orari definiti nel sistema locale e per informazioni complete delle visualizzazioni sulle regole di regolazione.


private enum WeekOfMonth 
{
   First = 1,
   Second = 2,
   Third = 3,
   Fourth = 4,
   Last = 5,
}

private static void ShowStartAndEndDates()
{
   // Get all time zones from system
   ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
   string[] monthNames = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
   // Get each time zone
   foreach (TimeZoneInfo timeZone in timeZones)
   {
      TimeZoneInfo.AdjustmentRule[] adjustments = timeZone.GetAdjustmentRules();
      // Display message for time zones with no adjustments
      if (adjustments.Length == 0)
      {
         Console.WriteLine("{0} has no adjustment rules", timeZone.StandardName);
      }   
      else
      {
         // Handle time zones with 1 or 2+ adjustments differently
         bool showCount = false;
         int ctr = 0;
         string spacer = "";

         Console.WriteLine("{0} Adjustment rules", timeZone.StandardName);
         if (adjustments.Length > 1)
         {
            showCount = true;
            spacer = "   ";
         }   
         // Iterate adjustment rules
         foreach (TimeZoneInfo.AdjustmentRule adjustment in adjustments)
         {
            if (showCount)
            { 
               Console.WriteLine("   Adjustment rule #{0}", ctr+1);
               ctr++;
            }
            // Display general adjustment information
            Console.WriteLine("{0}   Start Date: {1:D}", spacer, adjustment.DateStart);
            Console.WriteLine("{0}   End Date: {1:D}", spacer, adjustment.DateEnd);
            Console.WriteLine("{0}   Time Change: {1}:{2:00} hours", spacer, 
                              adjustment.DaylightDelta.Hours, adjustment.DaylightDelta.Minutes);
            // Get transition start information
            TimeZoneInfo.TransitionTime transitionStart = adjustment.DaylightTransitionStart;
            Console.Write("{0}   Annual Start: ", spacer);
            if (transitionStart.IsFixedDateRule)
            {
               Console.WriteLine("On {0} {1} at {2:t}", 
                                 monthNames[transitionStart.Month - 1], 
                                 transitionStart.Day, 
                                 transitionStart.TimeOfDay);
            }
            else
            {
               Console.WriteLine("The {0} {1} of {2} at {3:t}", 
                                 ((WeekOfMonth)transitionStart.Week).ToString(), 
                                 transitionStart.DayOfWeek.ToString(), 
                                 monthNames[transitionStart.Month - 1], 
                                 transitionStart.TimeOfDay);
            }
            // Get transition end information
            TimeZoneInfo.TransitionTime transitionEnd = adjustment.DaylightTransitionEnd;
            Console.Write("{0}   Annual End: ", spacer);
            if (transitionEnd.IsFixedDateRule)
            {
               Console.WriteLine("On {0} {1} at {2:t}", 
                                 monthNames[transitionEnd.Month - 1], 
                                 transitionEnd.Day, 
                                 transitionEnd.TimeOfDay);
            }
            else
            {
               Console.WriteLine("The {0} {1} of {2} at {3:t}", 
                                 ((WeekOfMonth)transitionEnd.Week).ToString(), 
                                 transitionEnd.DayOfWeek.ToString(), 
                                 monthNames[transitionEnd.Month - 1], 
                                 transitionEnd.TimeOfDay);
            }
         }
      }   
      Console.WriteLine();
   } 
}


Di seguito viene riportata una piccola parte dell'output generato dall'esempio. L'output esatto varia a seconda del sistema operativo e la data in cui viene eseguito.

Morocco Standard Time Adjustment rules
   Adjustment rule #1
      Start Date: Tuesday, January 01, 2008
      End Date: Wednesday, December 31, 2008
      Time Change: 1:00 hours
      Annual Start: The Last Saturday of May at 11:59 PM
      Annual End: The Last Sunday of August at 11:59 PM
   Adjustment rule #2
      Start Date: Thursday, January 01, 2009
      End Date: Thursday, December 31, 2009
      Time Change: 1:00 hours
      Annual Start: The Last Sunday of May at 11:59 PM
      Annual End: The Third Thursday of August at 11:59 PM

Coordinated Universal Time has no adjustment rules

GMT Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 1:00 AM
   Annual End: The Last Sunday of October at 2:00 AM

Greenwich Standard Time has no adjustment rules

W. Europe Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

Central Europe Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

Romance Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

Central European Standard Time Adjustment rules
   Start Date: Monday, January 01, 0001
   End Date: Friday, December 31, 9999
   Time Change: 1:00 hours
   Annual Start: The Last Sunday of March at 2:00 AM
   Annual End: The Last Sunday of October at 3:00 AM

W. Central Africa Standard Time has no adjustment rules

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft