Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore DateTime (Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza della struttura DateTime su anno, mese, giorno, ora, minuto e secondo determinati per il calendario specificato.

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

public DateTime(
	int year,
	int month,
	int day,
	int hour,
	int minute,
	int second,
	Calendar calendar
)

Parametri

year
Type: System.Int32

Anno (da 1 al numero di anni in calendar).

month
Type: System.Int32

Mese (da 1 al numero di mesi in calendar).

day
Type: System.Int32

Giorno (da 1 al numero di giorni in month).

hour
Type: System.Int32

Ore (da 0 a 23).

minute
Type: System.Int32

Minuti (da 0 a 59).

second
Type: System.Int32

Secondi (da 0 a 59).

calendar
Type: System.Globalization.Calendar

Calendario usato per interpretare year, month e day.

Exception Condition
ArgumentNullException

calendar è null.

ArgumentOutOfRangeException

year non è compreso nell'intervallo supportato da calendar.

-oppure-

month è minore di 1 o maggiore del numero di mesi in calendar.

-oppure-

day è minore di 1 o maggiore del numero di giorni in month.

-oppure-

hour è minore di 0 o maggiore di 23

-oppure-

minute è minore di 0 o maggiore di 59.

-oppure-

second è minore di 0 o maggiore di 59.

The P:System.DateTime.Kind property is initialized to F:System.DateTimeKind.Unspecified.

The allowable values for year, month, and day depend on calendar. An exception is thrown if the specified date and time cannot be expressed using calendar.

The N:System.Globalization namespace provides several calendars including T:System.Globalization.GregorianCalendar and T:System.Globalization.JulianCalendar.

The following example calls the M:System.DateTime.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Globalization.Calendar) constructor twice to instantiate two T:System.DateTime values. The first call instantiates a T:System.DateTime value by using a T:System.Globalization.PersianCalendar object. Because the Persian calendar cannot be designated as the default calendar for a culture, displaying a date in the Persian calendar requires individual calls to its M:System.Globalization.PersianCalendar.GetMonth(System.DateTime), M:System.Globalization.PersianCalendar.GetDayOfMonth(System.DateTime), and M:System.Globalization.PersianCalendar.GetYear(System.DateTime) methods. The second call to the constructor instantiates a T:System.DateTime value by using a T:System.Globalization.HijriCalendar object. The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Because Hijri is the current culture's default calendar, the M:System.Console.WriteLine method uses it to format the date. When the previous current culture (which is English (United States) in this case) is restored, the M:System.Console.WriteLine method uses the current culture's default Gregorian calendar to format the date.

using System;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Using the Persian Calendar:");
      PersianCalendar persian = new PersianCalendar();
      DateTime date1 = new DateTime(1389, 5, 27, 16, 32, 0, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}\n", 
                                       persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1), 
                                       persian.GetHour(date1), 
                                       persian.GetMinute(date1), 
                                       persian.GetSecond(date1), 
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator);

      Console.WriteLine("Using the Hijri Calendar:");
      // Get current culture so it can later be restored.
      CultureInfo dftCulture = Thread.CurrentThread.CurrentCulture;

      // Define Hijri calendar.
      HijriCalendar hijri = new HijriCalendar();
      // Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SY");
      CultureInfo current = CultureInfo.CurrentCulture;
      current.DateTimeFormat.Calendar = hijri;
      string dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy");
      current.DateTimeFormat.ShortDatePattern = dFormat;
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", current, 
                        GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:g}", 
                        CultureInfo.CurrentCulture, 
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), 
                        date2); 
   }

   private static string GetCalendarName(Calendar cal)
   {
      return Regex.Match(cal.ToString(), "\\.(\\w+)Calendar").Groups[1].Value;
   }
}
// The example displays the following output:
//       Using the Persian Calendar:
//       8/18/2010 4:32:00 PM
//       5/27/1389 16:32:00
//       
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 04:32 م
//       en-US culture using the Gregorian calendar: 8/18/2010 4:32 PM

.NET Framework
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: