GregorianCalendar Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta il calendario gregoriano.
public ref class GregorianCalendar : System::Globalization::Calendar
public class GregorianCalendar : System.Globalization.Calendar
[System.Serializable]
public class GregorianCalendar : System.Globalization.Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GregorianCalendar : System.Globalization.Calendar
type GregorianCalendar = class
inherit Calendar
[<System.Serializable>]
type GregorianCalendar = class
inherit Calendar
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GregorianCalendar = class
inherit Calendar
Public Class GregorianCalendar
Inherits Calendar
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato che DateTimeFormatInfo ignora la punteggiatura nel nome dell'era, solo se il calendario è gregoriano e le impostazioni cultura usano il nome dell'era "A.D.".
using namespace System;
using namespace System::Globalization;
using namespace System::Collections;
int main()
{
// Creates strings with punctuation and without.
String^ strADPunc = "A.D.";
String^ strADNoPunc = "AD";
String^ strCEPunc = "C.E.";
String^ strCENoPunc = "CE";
// Calls DTFI::GetEra for each culture that uses GregorianCalendar as the default calendar.
Console::WriteLine( " ----- AD ----- ----- CE -----" );
Console::WriteLine( "CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR" );
IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator();
while ( en->MoveNext() )
{
CultureInfo^ myCI = safe_cast<CultureInfo^>(en->Current);
Console::Write( "{0, -12}", myCI );
Console::Write( "{0,-7}{1,-9}", myCI->DateTimeFormat->GetEra( strADPunc ), myCI->DateTimeFormat->GetEra( strADNoPunc ) );
Console::Write( "{0, -7}{1, -9}", myCI->DateTimeFormat->GetEra( strCEPunc ), myCI->DateTimeFormat->GetEra( strCENoPunc ) );
Console::Write( "{0}", myCI->Calendar );
Console::WriteLine();
}
}
/*
This code produces the following output. This output has been cropped for brevity.
----- AD ----- ----- CE -----
CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-HK 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
*/
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Creates strings with punctuation and without.
String strADPunc = "A.D.";
String strADNoPunc = "AD";
String strCEPunc = "C.E.";
String strCENoPunc = "CE";
// Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
Console.WriteLine( " ----- AD ----- ----- CE -----" );
Console.WriteLine( "CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR" );
foreach ( CultureInfo myCI in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) {
Console.Write( "{0,-12}", myCI );
Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strADPunc ), myCI.DateTimeFormat.GetEra( strADNoPunc ) );
Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strCEPunc ), myCI.DateTimeFormat.GetEra( strCENoPunc ) );
Console.Write( "{0}", myCI.Calendar );
Console.WriteLine();
}
}
}
/*
This code produces the following output. This output has been cropped for brevity.
----- AD ----- ----- CE -----
CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-HK -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Creates strings with punctuation and without.
Dim strADPunc As [String] = "A.D."
Dim strADNoPunc As [String] = "AD"
Dim strCEPunc As [String] = "C.E."
Dim strCENoPunc As [String] = "CE"
' Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
Console.WriteLine(" ----- AD ----- ----- CE -----")
Console.WriteLine("CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR")
Dim myCI As CultureInfo
For Each myCI In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
Console.Write("{0,-12}", myCI)
Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strADPunc), myCI.DateTimeFormat.GetEra(strADNoPunc))
Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strCEPunc), myCI.DateTimeFormat.GetEra(strCENoPunc))
Console.Write("{0}", myCI.Calendar)
Console.WriteLine()
Next myCI
End Sub
End Class
'This code produces the following output. This output has been cropped for brevity.
'
' ----- AD ----- ----- CE -----
'CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
'ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
'ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
'bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
'ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-HK -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
'zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
'cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
'da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
Commenti
Il calendario gregoriano riconosce due era: B.C. o B.C.E., e A.D. o C.E. Questa implementazione della GregorianCalendar classe riconosce solo l'era corrente (A.D. o C.E.).
Nota
Per informazioni sull'uso della GregorianCalendar classe e delle altre classi di calendario in .NET Framework, vedere Uso dei calendari.
Un anno bisestile nel calendario gregoriano è definito come anno che è uniformemente divisibile da 4, a meno che non sia divisibile da 100. Tuttavia, gli anni che sono divisibili per 400 sono anni saltati. Ad esempio, l'anno 1900 non era un anno saltato, ma l'anno 2000 era. Un anno comune ha 365 giorni e un anno bisestile ha 366 giorni.
Il calendario gregoriano ha 12 mesi con 28-31 giorni ogni: gennaio (31 giorni), febbraio (28 o 29 giorni), marzo (31 giorni), aprile (30 giorni), maggio (30 giorni) 31 giorni), giugno (30 giorni), luglio (31 giorni), agosto (31 giorni), settembre (30 giorni), ottobre (31 giorni), novembre (30 giorni) e dicembre (31 giorni). Febbraio ha 29 giorni durante anni salti e 28 durante gli anni comuni.
Importante
Per impostazione predefinita, tutti i DateTime valori e esprimono date e DateTimeOffset ore nel calendario gregoriano.
Il calendario gregoriano è stato sviluppato come sostituzione del calendario Julian (rappresentato dalla JulianCalendar classe) ed è stato introdotto per la prima volta in un piccolo numero di culture il 15 ottobre 1582. Quando si usano date storiche che precedono l'adozione di un calendario gregoriano, è consigliabile usare il calendario originale se è disponibile in .NET Framework. Ad esempio, la Danimarca è cambiata dal calendario Julian al calendario gregoriano il 19 febbraio (nel calendario julian) o il 1 marzo (nel calendario gregoriano) del 1700. In questo caso, per le date prima dell'adozione del calendario gregoriano, è consigliabile usare il calendario Julian. Si noti tuttavia che nessuna cultura offre supporto intrinseco per la JulianCalendar classe. È necessario usare la JulianCalendar classe come calendario autonomo. Per altre informazioni, vedere Uso dei calendari.
Nell'esempio seguente viene illustrato che il 18 febbraio 1700 nel calendario julian, che è l'ultimo giorno in cui il calendario julian è stato ufficialmente usato in Danimarca, è un giorno prima del 1° marzo 1700 nel calendario gregoriano.
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
JulianCalendar jc = new JulianCalendar();
DateTime lastDate = new DateTime(1700, 2, 18, jc);
Console.WriteLine("Last date (Gregorian): {0:d}", lastDate);
Console.WriteLine("Last date (Julian): {0}-{1}-{2}\n", jc.GetDayOfMonth(lastDate),
jc.GetMonth(lastDate), jc.GetYear(lastDate));
DateTime firstDate = lastDate.AddDays(1);
Console.WriteLine("First date (Gregorian): {0:d}", firstDate);
Console.WriteLine("First date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(firstDate),
jc.GetMonth(firstDate), jc.GetYear(firstDate));
}
}
// The example displays the following output:
// Last date (Gregorian): 28-02-1700
// Last date (Julian): 18-2-1700
//
// First date (Gregorian): 01-03-1700
// First date (Julian): 19-2-1700
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Thread.CurrentThread.CurrentCulture = New CultureInfo("da-DK")
Dim jc As New JulianCalendar()
Dim lastDate As New DateTime(1700, 2, 18, jc)
Console.WriteLine("Last date (Gregorian): {0:d}", lastDate)
Console.WriteLine("Last date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(lastDate),
jc.GetMonth(lastDate), jc.GetYear(lastDate))
Console.WriteLine()
Dim firstDate As DateTime = lastDate.AddDays(1)
Console.WriteLine("First date (Gregorian): {0:d}", firstDate)
Console.WriteLine("First date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(firstDate),
jc.GetMonth(firstDate), jc.GetYear(firstDate))
End Sub
End Module
' The example displays the following output:
' Last date (Gregorian): 28-02-1700
' Last date (Julian): 18-2-1700
'
' First date (Gregorian): 01-03-1700
' First date (Julian): 19-2-1700
Ogni CultureInfo oggetto supporta un set di calendari. La Calendar proprietà restituisce il calendario predefinito per le impostazioni cultura e la OptionalCalendars proprietà restituisce una matrice contenente tutti i calendari supportati dalle impostazioni cultura. Per modificare il calendario usato da un CultureInfooggetto , l'applicazione può impostare la Calendar proprietà su un nuovo Calendaroggetto .
GetEra ignora la punteggiatura nei nomi di era abbreviati, solo se l'oggetto GregorianCalendar è selezionato in DateTimeFormatInfo.Calendar e le impostazioni cultura usano "A.D." come nome dell'era, ovvero "A.D." è equivalente a "AD".
Costruttori
GregorianCalendar() |
Inizializza una nuova istanza della classe GregorianCalendar utilizzando il valore GregorianCalendarTypes predefinito. |
GregorianCalendar(GregorianCalendarTypes) |
Inizializza una nuova istanza della classe GregorianCalendar con il valore GregorianCalendarTypes specificato. |
Campi
ADEra |
Rappresenta l'era corrente. Questo campo è costante. |
CurrentEra |
Rappresenta l'era corrente del calendario corrente. Il valore di questo campo è 0. (Ereditato da Calendar) |
Proprietà
AlgorithmType |
Ottiene un valore che indica se il calendario corrente è solare, lunare o una combinazione di entrambi (lunisolare). |
AlgorithmType |
Ottiene un valore che indica se il calendario corrente è solare, lunare o una combinazione di entrambi (lunisolare). (Ereditato da Calendar) |
CalendarType |
Ottiene o imposta il valore GregorianCalendarTypes che indica la versione della lingua dell'oggetto GregorianCalendar corrente. |
DaysInYearBeforeMinSupportedYear |
Ottiene il numero di giorni all'anno che precedono l'anno specificato dalla proprietà MinSupportedDateTime. (Ereditato da Calendar) |
Eras |
Ottiene l'elenco delle ere in GregorianCalendar. |
IsReadOnly |
Ottiene un valore che indica se l'oggetto Calendar è in sola lettura. (Ereditato da Calendar) |
MaxSupportedDateTime |
Ottiene la data e l'ora più recenti supportate dal tipo GregorianCalendar. |
MaxSupportedDateTime |
Ottiene la data e l'ora più recenti supportate dall'oggetto Calendar. (Ereditato da Calendar) |
MinSupportedDateTime |
Ottiene la data e l'ora meno recenti supportate dal tipo GregorianCalendar. |
MinSupportedDateTime |
Ottiene la data e l'ora meno recenti supportate dall'oggetto Calendar. (Ereditato da 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. (Ereditato da Calendar) |
AddHours(DateTime, Int32) |
Restituisce un valore DateTime che rappresenta il numero di ore specificato a partire dal valore DateTime specificato. (Ereditato da Calendar) |
AddMilliseconds(DateTime, Double) |
Restituisce un valore DateTime che rappresenta il numero di millisecondi specificato a partire dal valore DateTime specificato. (Ereditato da Calendar) |
AddMinutes(DateTime, Int32) |
Restituisce un valore DateTime che rappresenta il numero di minuti specificato a partire dal valore DateTime specificato. (Ereditato da Calendar) |
AddMonths(DateTime, Int32) |
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. (Ereditato da Calendar) |
AddWeeks(DateTime, Int32) |
Restituisce un valore DateTime che rappresenta il numero di settimane specificato a partire dal valore |
AddWeeks(DateTime, Int32) |
Restituisce un valore DateTime che rappresenta il numero di settimane specificato a partire dal valore DateTime specificato. (Ereditato da Calendar) |
AddYears(DateTime, Int32) |
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. (Ereditato da Calendar) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetDayOfMonth(DateTime) |
Restituisce il giorno del mese nel valore DateTime specificato. |
GetDayOfWeek(DateTime) |
Restituisce il giorno della settimana nel valore DateTime specificato. |
GetDayOfYear(DateTime) |
Restituisce il giorno dell'anno nell'oggetto DateTime specificato. |
GetDaysInMonth(Int32, Int32) |
Restituisce il numero di giorni nel mese e nell'anno specificati dell'era corrente. (Ereditato da Calendar) |
GetDaysInMonth(Int32, Int32, Int32) |
Restituisce il numero di giorni nel mese specificato nell'anno specificato dell'era specificata. |
GetDaysInYear(Int32) |
Restituisce il numero di giorni nell'anno specificato dell'era corrente. (Ereditato da Calendar) |
GetDaysInYear(Int32, Int32) |
Restituisce il numero di giorni nell'anno specificato dell'era specificata. |
GetEra(DateTime) |
Restituisce l'era nel valore DateTime specificato. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetHour(DateTime) |
Restituisce il valore delle ore nel valore DateTime specificato. (Ereditato da Calendar) |
GetLeapMonth(Int32) |
Calcola il mese intercalare per un anno specificato. (Ereditato da Calendar) |
GetLeapMonth(Int32, Int32) |
Calcola il mese intercalare per un anno e un'era specificati. |
GetLeapMonth(Int32, Int32) |
Calcola il mese intercalare per un anno e un'era specificati. (Ereditato da Calendar) |
GetMilliseconds(DateTime) |
Restituisce il valore dei millisecondi nel valore DateTime specificato. (Ereditato da Calendar) |
GetMinute(DateTime) |
Restituisce il valore dei minuti nel valore DateTime specificato. (Ereditato da Calendar) |
GetMonth(DateTime) |
Restituisce il mese nell'oggetto DateTime specificato. |
GetMonthsInYear(Int32) |
Restituisce il numero di mesi nell'anno specificato dell'era corrente. (Ereditato da Calendar) |
GetMonthsInYear(Int32, Int32) |
Restituisce il numero di mesi nell'anno specificato dell'era specificata. |
GetSecond(DateTime) |
Restituisce il valore dei secondi nel valore DateTime specificato. (Ereditato da Calendar) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek) |
Restituisce la settimana dell'anno che comprende la data nell'oggetto DateTime specificato. |
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek) |
Restituisce la settimana dell'anno che comprende la data nel valore DateTime specificato. (Ereditato da Calendar) |
GetYear(DateTime) |
Restituisce l'anno nel valore DateTime specificato. |
IsLeapDay(Int32, Int32, Int32) |
Determina se la data specificata nell'era corrente è un giorno intercalare. (Ereditato da Calendar) |
IsLeapDay(Int32, Int32, Int32, Int32) |
Determina se la data specificata nell'era specificata corrisponde a un giorno intercalare. |
IsLeapMonth(Int32, Int32) |
Determina se il mese specificato nell'anno specificato dell'era corrente è intercalare. (Ereditato da Calendar) |
IsLeapMonth(Int32, Int32, Int32) |
Determina se il mese specificato nell'anno specificato dell'era specificata è intercalare. |
IsLeapYear(Int32) |
Determina se l'anno specificato nell'era corrente è bisestile. (Ereditato da Calendar) |
IsLeapYear(Int32, Int32) |
Determina se l'anno specificato nell'era specificata è bisestile. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
Restituisce un valore DateTime impostato sulla data e sull'ora specificate nell'era corrente. (Ereditato da Calendar) |
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
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) |