Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DateTime-Konstruktor: (Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)

 

Veröffentlicht: Oktober 2016

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde und Millisekunde für den angegebenen Kalender.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

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

Parameter

year
Type: System.Int32

Das Jahr (1 bis zur Anzahl der Jahre in calendar).

month
Type: System.Int32

Der Monat (1 bis zur Anzahl der Monate in calendar).

day
Type: System.Int32

Der Tag (1 bis zur Anzahl der Tage in month).

hour
Type: System.Int32

Die Stunden (0 bis 23).

minute
Type: System.Int32

Die Minuten (0 bis 59).

second
Type: System.Int32

Die Sekunden (0 bis 59).

millisecond
Type: System.Int32

Die Millisekunden (0 bis 999).

calendar
Type: System.Globalization.Calendar

Der Kalender, der zum Interpretieren von year, month und day verwendet wird.

Exception Condition
ArgumentNullException

calendar ist null.

ArgumentOutOfRangeException

year befindet sich nicht im von calendar unterstützten Bereich.

- oder -

month ist kleiner als 1 oder größer als die Anzahl der Monate in calendar.

- oder -

day ist kleiner als 1 oder größer als die Anzahl der Tage in month.

- oder -

hour ist kleiner als 0 (null) oder größer als 23.

- oder -

minute ist kleiner als 0 (null) oder größer als 59.

- oder -

second ist kleiner als 0 (null) oder größer als 59.

- oder -

millisecond ist kleiner als 0 (null) oder größer als 999.

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.

For applications in which portability of date and time data or a limited degree of time zone awareness is important, you can use the corresponding T:System.DateTimeOffset constructor.

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.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, 18, 500, persian);
      Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
      Console.WriteLine("{0}/{1}/{2} {3}{7}{4:D2}{7}{5:D2}.{6:G3}\n", 
                                       persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1), 
                                       persian.GetHour(date1), 
                                       persian.GetMinute(date1), 
                                       persian.GetSecond(date1), 
                                       persian.GetMilliseconds(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 strings for use in composite formatting.
      string dFormat; 
      string fmtString; 
      // 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;
      dFormat = current.DateTimeFormat.ShortDatePattern;
      // Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy") + " H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, hijri);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), date2);

      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "}";
      Console.WriteLine(fmtString, 
                        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:
//       8/18/2010 4:32:18.500 PM
//       5/27/1389 16:32:18.500
//       
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500
//       en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500

.NET Framework
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: