Calendar Classe

Definizione

Rappresenta il tempo in suddivisioni, come settimane, mesi e anni.

public ref class Calendar abstract
public ref class Calendar abstract : ICloneable
public abstract class Calendar
public abstract class Calendar : ICloneable
[System.Serializable]
public abstract class Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Calendar : ICloneable
type Calendar = class
type Calendar = class
    interface ICloneable
[<System.Serializable>]
type Calendar = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Calendar = class
    interface ICloneable
Public MustInherit Class Calendar
Public MustInherit Class Calendar
Implements ICloneable
Ereditarietà
Calendar
Derivato
Attributi
Implementazioni

Esempio

Nell'esempio di codice seguente vengono illustrati i membri della Calendar classe.

using namespace System;
using namespace System::Globalization;
void DisplayValues( Calendar^ myCal, DateTime myDT )
{
   Console::WriteLine( "   Era: {0}", myCal->GetEra( myDT ) );
   Console::WriteLine( "   Year: {0}", myCal->GetYear( myDT ) );
   Console::WriteLine( "   Month: {0}", myCal->GetMonth( myDT ) );
   Console::WriteLine( "   DayOfYear: {0}", myCal->GetDayOfYear( myDT ) );
   Console::WriteLine( "   DayOfMonth: {0}", myCal->GetDayOfMonth( myDT ) );
   Console::WriteLine( "   DayOfWeek: {0}", myCal->GetDayOfWeek( myDT ) );
   Console::WriteLine( "   Hour: {0}", myCal->GetHour( myDT ) );
   Console::WriteLine( "   Minute: {0}", myCal->GetMinute( myDT ) );
   Console::WriteLine( "   Second: {0}", myCal->GetSecond( myDT ) );
   Console::WriteLine( "   Milliseconds: {0}", myCal->GetMilliseconds( myDT ) );
   Console::WriteLine();
}

int main()
{
   
   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
   
   // Uses the default calendar of the InvariantCulture.
   Calendar^ myCal = CultureInfo::InvariantCulture->Calendar;
   
   // Displays the values of the DateTime.
   Console::WriteLine( "April 3, 2002 of the Gregorian calendar:" );
   DisplayValues( myCal, myDT );
   
   // Adds 5 to every component of the DateTime.
   myDT = myCal->AddYears( myDT, 5 );
   myDT = myCal->AddMonths( myDT, 5 );
   myDT = myCal->AddWeeks( myDT, 5 );
   myDT = myCal->AddDays( myDT, 5 );
   myDT = myCal->AddHours( myDT, 5 );
   myDT = myCal->AddMinutes( myDT, 5 );
   myDT = myCal->AddSeconds( myDT, 5 );
   myDT = myCal->AddMilliseconds( myDT, 5 );
   
   // Displays the values of the DateTime.
   Console::WriteLine( "After adding 5 to each component of the DateTime:" );
   DisplayValues( myCal, myDT );
}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar:
Era:          1
Year:         2002
Month:        4
DayOfYear:    93
DayOfMonth:   3
DayOfWeek:    Wednesday
Hour:         0
Minute:       0
Second:       0
Milliseconds: 0

After adding 5 to each component of the DateTime:
Era:          1
Year:         2007
Month:        10
DayOfYear:    286
DayOfMonth:   13
DayOfWeek:    Saturday
Hour:         5
Minute:       5
Second:       5
Milliseconds: 5

*/
using System;
using System.Globalization;

public class SamplesCalendar  {

   public static void Main()  {

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );

      // Uses the default calendar of the InvariantCulture.
      Calendar myCal = CultureInfo.InvariantCulture.Calendar;

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
      DisplayValues( myCal, myDT );

      // Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears( myDT, 5 );
      myDT = myCal.AddMonths( myDT, 5 );
      myDT = myCal.AddWeeks( myDT, 5 );
      myDT = myCal.AddDays( myDT, 5 );
      myDT = myCal.AddHours( myDT, 5 );
      myDT = myCal.AddMinutes( myDT, 5 );
      myDT = myCal.AddSeconds( myDT, 5 );
      myDT = myCal.AddMilliseconds( myDT, 5 );

      // Displays the values of the DateTime.
      Console.WriteLine( "After adding 5 to each component of the DateTime:" );
      DisplayValues( myCal, myDT );
   }

   public static void DisplayValues( Calendar myCal, DateTime myDT )  {
      Console.WriteLine( "   Era:          {0}", myCal.GetEra( myDT ) );
      Console.WriteLine( "   Year:         {0}", myCal.GetYear( myDT ) );
      Console.WriteLine( "   Month:        {0}", myCal.GetMonth( myDT ) );
      Console.WriteLine( "   DayOfYear:    {0}", myCal.GetDayOfYear( myDT ) );
      Console.WriteLine( "   DayOfMonth:   {0}", myCal.GetDayOfMonth( myDT ) );
      Console.WriteLine( "   DayOfWeek:    {0}", myCal.GetDayOfWeek( myDT ) );
      Console.WriteLine( "   Hour:         {0}", myCal.GetHour( myDT ) );
      Console.WriteLine( "   Minute:       {0}", myCal.GetMinute( myDT ) );
      Console.WriteLine( "   Second:       {0}", myCal.GetSecond( myDT ) );
      Console.WriteLine( "   Milliseconds: {0}", myCal.GetMilliseconds( myDT ) );
      Console.WriteLine();
   }
}


/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar:
   Era:          1
   Year:         2002
   Month:        4
   DayOfYear:    93
   DayOfMonth:   3
   DayOfWeek:    Wednesday
   Hour:         0
   Minute:       0
   Second:       0
   Milliseconds: 0

After adding 5 to each component of the DateTime:
   Era:          1
   Year:         2007
   Month:        10
   DayOfYear:    286
   DayOfMonth:   13
   DayOfWeek:    Saturday
   Hour:         5
   Minute:       5
   Second:       5
   Milliseconds: 5

*/
Imports System.Globalization


Public Class SamplesCalendar   

   Public Shared Sub Main()

      ' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())

      ' Uses the default calendar of the InvariantCulture.
      Dim myCal As Calendar = CultureInfo.InvariantCulture.Calendar

      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar:")
      DisplayValues(myCal, myDT)

      ' Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears(myDT, 5)
      myDT = myCal.AddMonths(myDT, 5)
      myDT = myCal.AddWeeks(myDT, 5)
      myDT = myCal.AddDays(myDT, 5)
      myDT = myCal.AddHours(myDT, 5)
      myDT = myCal.AddMinutes(myDT, 5)
      myDT = myCal.AddSeconds(myDT, 5)
      myDT = myCal.AddMilliseconds(myDT, 5)

      ' Displays the values of the DateTime.
      Console.WriteLine("After adding 5 to each component of the DateTime:")
      DisplayValues(myCal, myDT)

   End Sub

   Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
      Console.WriteLine("   Era:          {0}", myCal.GetEra(myDT))
      Console.WriteLine("   Year:         {0}", myCal.GetYear(myDT))
      Console.WriteLine("   Month:        {0}", myCal.GetMonth(myDT))
      Console.WriteLine("   DayOfYear:    {0}", myCal.GetDayOfYear(myDT))
      Console.WriteLine("   DayOfMonth:   {0}", myCal.GetDayOfMonth(myDT))
      Console.WriteLine("   DayOfWeek:    {0}", myCal.GetDayOfWeek(myDT))
      Console.WriteLine("   Hour:         {0}", myCal.GetHour(myDT))
      Console.WriteLine("   Minute:       {0}", myCal.GetMinute(myDT))
      Console.WriteLine("   Second:       {0}", myCal.GetSecond(myDT))
      Console.WriteLine("   Milliseconds: {0}", myCal.GetMilliseconds(myDT))
      Console.WriteLine()
   End Sub

End Class


'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar:
'   Era:          1
'   Year:         2002
'   Month:        4
'   DayOfYear:    93
'   DayOfMonth:   3
'   DayOfWeek:    Wednesday
'   Hour:         0
'   Minute:       0
'   Second:       0
'   Milliseconds: 0
'
'After adding 5 to each component of the DateTime:
'   Era:          1
'   Year:         2007
'   Month:        10
'   DayOfYear:    286
'   DayOfMonth:   13
'   DayOfWeek:    Saturday
'   Hour:         5
'   Minute:       5
'   Second:       5
'   Milliseconds: 5

Commenti

Un calendario divide il tempo in unità, ad esempio settimane, mesi e anni. Il numero, la lunghezza e l'inizio delle divisioni variano in ogni calendario.

Nota

Per informazioni sull'uso delle classi di calendario in .NET, vedere Uso dei calendari.

Qualsiasi momento in tempo può essere rappresentato come set di valori numerici usando un determinato calendario. Ad esempio, si è verificato un equinox vernal (1999, 3, 20, 8, 46, 0, 0,0) nel calendario gregoriano, ovvero il 20 marzo 1999 C.E. alle 8:46:00:0.0. Un'implementazione di Calendar può eseguire il mapping di qualsiasi data nell'intervallo di un calendario specifico a un set simile di valori numerici e DateTime può eseguire il mapping di tali set di valori numerici a una rappresentazione testuale usando informazioni da Calendar e DateTimeFormatInfo. La rappresentazione testuale può essere sensibile alle impostazioni cultura, ad esempio "8:46: 20 marzo 1999 AD" per le impostazioni cultura en-US o cultura-insensibili, ad esempio "1999-03-20T08:46:00" in formato ISO 8601.

Un'implementazione Calendar può definire una o più epoche. La Calendar classe identifica le era come interi enumerati, in cui l'era corrente (CurrentEra) ha il valore 0.

Importante

Le ere nel calendario giapponese sono basate sul regno dell'imperatore e pertanto è previsto che cambino. Ad esempio, il 1° maggio 2019 contraddistingue l'inizio dell'era Reiwa in JapaneseCalendar e JapaneseLunisolarCalendar. Questo cambio di era interessa tutte le applicazioni che usano questi calendari. Per altre informazioni e per determinare se le applicazioni sono interessate, vedere Gestione di una nuova era nel calendario giapponese in .NET. Per informazioni sui test delle applicazioni nei sistemi Windows per garantire la loro idoneità per la modifica dell'era, vedere Preparare l'applicazione per la modifica dell'era giapponese. Per le funzionalità di .NET che supportano calendari con più era e per le procedure consigliate quando si usano calendari che supportano più epoche, vedere Uso delle era.

Per fare la differenza tra l'anno del calendario e il tempo effettivo che la terra ruota intorno al sole o il tempo effettivo che la luna ruota intorno alla terra, un anno di salto ha un numero diverso di giorni da un anno di calendario standard. Ogni Calendar implementazione definisce anni di attività diverse.

Per coerenza, la prima unità in ogni intervallo (il primo mese, ad esempio) viene assegnata il valore 1.

Lo System.Globalization spazio dei nomi include le implementazioni seguenti Calendar :

Costruttori

Calendar()

Inizializza una nuova istanza della classe Calendar.

Campi

CurrentEra

Rappresenta l'era corrente del calendario corrente. Il valore di questo campo è 0.

Proprietà

AlgorithmType

Ottiene un valore che indica se il calendario corrente è solare, lunare o una combinazione di entrambi (lunisolare).

DaysInYearBeforeMinSupportedYear

Ottiene il numero di giorni all'anno che precedono l'anno specificato dalla proprietà MinSupportedDateTime.

Eras

Quando è sottoposto a override in una classe derivata, ottiene l'elenco delle ere nel calendario corrente.

IsReadOnly

Ottiene un valore che indica se l'oggetto Calendar è in sola lettura.

MaxSupportedDateTime

Ottiene la data e l'ora più recenti supportate dall'oggetto Calendar.

MinSupportedDateTime

Ottiene la data e l'ora meno recenti supportate dall'oggetto Calendar.

TwoDigitYearMax

Ottiene o imposta l'ultimo anno che, nell'intervallo di un secolo, può essere rappresentato da un anno a due cifre.

Metodi

AddDays(DateTime, Int32)

Restituisce un valore DateTime che rappresenta il numero di giorni specificato a partire dal valore DateTime specificato.

AddHours(DateTime, Int32)

Restituisce un valore DateTime che rappresenta il numero di ore specificato a partire dal valore DateTime specificato.

AddMilliseconds(DateTime, Double)

Restituisce un valore DateTime che rappresenta il numero di millisecondi specificato a partire dal valore DateTime specificato.

AddMinutes(DateTime, Int32)

Restituisce un valore DateTime che rappresenta il numero di minuti specificato a partire dal valore DateTime specificato.

AddMonths(DateTime, Int32)

Quando è sottoposto a override in una classe derivata, restituisce un valore DateTime che rappresenta il numero di mesi specificato a partire dal valore DateTime specificato.

AddSeconds(DateTime, Int32)

Restituisce un valore DateTime che rappresenta il numero di secondi specificato a partire dal valore DateTime specificato.

AddWeeks(DateTime, Int32)

Restituisce un valore DateTime che rappresenta il numero di settimane specificato a partire dal valore DateTime specificato.

AddYears(DateTime, Int32)

Quando viene sottoposto a override in una classe derivata, restituisce un valore DateTime che rappresenta il numero di anni specificato a partire dal valore DateTime specificato.

Clone()

Crea un nuovo oggetto che rappresenta una copia dell'oggetto Calendar corrente.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetDayOfMonth(DateTime)

Quando è sottoposto a override in una classe derivata, restituisce il giorno del mese nel valore DateTime specificato.

GetDayOfWeek(DateTime)

Quando è sottoposto a override in una classe derivata, restituisce il giorno della settimana nel valore DateTime specificato.

GetDayOfYear(DateTime)

Quando è sottoposto a override in una classe derivata, restituisce il giorno dell'anno nel valore DateTime specificato.

GetDaysInMonth(Int32, Int32)

Restituisce il numero di giorni nel mese e nell'anno specificati dell'era corrente.

GetDaysInMonth(Int32, Int32, Int32)

Quando è sottoposto a override in una classe derivata, restituisce il numero di giorni nel mese, nell'anno e nell'era specificati.

GetDaysInYear(Int32)

Restituisce il numero di giorni nell'anno specificato dell'era corrente.

GetDaysInYear(Int32, Int32)

Quando è sottoposto a override in una classe derivata, restituisce il numero di giorni nell'anno e nell'era specificati.

GetEra(DateTime)

Quando è sottoposto a override in una classe derivata, restituisce l'era del valore DateTime.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetHour(DateTime)

Restituisce il valore delle ore nel valore DateTime specificato.

GetLeapMonth(Int32)

Calcola il mese intercalare per un anno specificato.

GetLeapMonth(Int32, Int32)

Calcola il mese intercalare per un anno e un'era specificati.

GetMilliseconds(DateTime)

Restituisce il valore dei millisecondi nel valore DateTime specificato.

GetMinute(DateTime)

Restituisce il valore dei minuti nel valore DateTime specificato.

GetMonth(DateTime)

Quando è sottoposto a override in una classe derivata, restituisce il mese nel valore DateTime specificato.

GetMonthsInYear(Int32)

Restituisce il numero di mesi nell'anno specificato dell'era corrente.

GetMonthsInYear(Int32, Int32)

Quando è sottoposto a override in una classe derivata, restituisce il numero di mesi nell'anno specificato dell'era specificata.

GetSecond(DateTime)

Restituisce il valore dei secondi nel valore DateTime specificato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Restituisce la settimana dell'anno che comprende la data nel valore DateTime specificato.

GetYear(DateTime)

Quando è sottoposto a override in una classe derivata, restituisce l'anno nel valore DateTime specificato.

IsLeapDay(Int32, Int32, Int32)

Determina se la data specificata nell'era corrente è un giorno intercalare.

IsLeapDay(Int32, Int32, Int32, Int32)

Quando è sottoposto a override in una classe derivata, determina se la data specificata nell'era specificata è un giorno intercalare.

IsLeapMonth(Int32, Int32)

Determina se il mese specificato nell'anno specificato dell'era corrente è intercalare.

IsLeapMonth(Int32, Int32, Int32)

Quando è sottoposto a override in una classe derivata, determina se il mese specificato nell'anno specificato dell'era specificata è intercalare.

IsLeapYear(Int32)

Determina se l'anno specificato nell'era corrente è bisestile.

IsLeapYear(Int32, Int32)

Quando è sottoposto a override in una classe derivata, determina se l'anno specificato nell'era specificata è bisestile.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ReadOnly(Calendar)

Restituisce una versione in sola lettura dell'oggetto Calendar specificato.

ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Restituisce un valore DateTime impostato sulla data e sull'ora specificate nell'era corrente.

ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Quando è sottoposto a override in una classe derivata, restituisce un valore DateTime impostato sulla data e sull'ora specificate nell'era specificata.

ToFourDigitYear(Int32)

Converte l'anno specificato in un anno a quattro cifre utilizzando la proprietà TwoDigitYearMax per determinare il secolo corretto.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche