DateTime Konstruktoren

Definition

Initialisiert eine neue Instanz der DateTime-Struktur.Initializes a new instance of the DateTime structure.

Überlädt

DateTime(Int64)

Initialisiert eine neue Instanz der DateTime-Struktur mit einer angegebenen Anzahl von Ticks.Initializes a new instance of the DateTime structure to a specified number of ticks.

DateTime(Int64, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit einer angegebenen Anzahl von Ticks und koordinierter Weltzeit (UTC) oder lokaler Zeit.Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

DateTime(Int32, Int32, Int32)

Initialisiert eine neue Instanz der DateTime-Struktur mit dem angegebenen Jahr, Monat und Tag.Initializes a new instance of the DateTime structure to the specified year, month, and day.

DateTime(Int32, Int32, Int32, Calendar)

Initialisiert eine neue Instanz der DateTime-Struktur mit dem angegebenen Jahr, Monat und Tag für den angegebenen Kalender.Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute und Sekunde.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde und koordinierte Weltzeit (Coordinated Universal Time, UTC) oder Ortszeit.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

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

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute und Sekunde für den angegebenen Kalender.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde und Millisekunde.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde und koordinierte Weltzeit (Coordinated Universal Time, UTC) oder Ortszeit.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

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

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.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde und koordinierte Weltzeit (Coordinated Universal Time, UTC) oder Ortszeit für den angegebenen Kalender.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

DateTime(Int64)

Initialisiert eine neue Instanz der DateTime-Struktur mit einer angegebenen Anzahl von Ticks.Initializes a new instance of the DateTime structure to a specified number of ticks.

public:
 DateTime(long ticks);
public DateTime (long ticks);
new DateTime : int64 -> DateTime
Public Sub New (ticks As Long)

Parameter

ticks
Int64

Ein Datum und eine Uhrzeit, die als Anzahl der 100-Nanosekunden-Intervalle ausgedrückt werden, die seit dem 1. Januar 0001, 00:00:00.000, im gregorianischen Kalender vergangen sind.A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.

Ausnahmen

ticks ist kleiner als MinValue oder größer als MaxValue.ticks is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird einer der DateTime-Konstruktoren veranschaulicht.The following example demonstrates one of the DateTime constructors.

// This example demonstrates the DateTime(Int64) constructor.
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Instead of using the implicit, default "G" date and time format string, we 
   // use a custom format string that aligns the results and inserts leading zeroes.
   String^ format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";
   
   // Create a DateTime for the maximum date and time using ticks.
   DateTime dt1 = DateTime(DateTime::MaxValue.Ticks);
   
   // Create a DateTime for the minimum date and time using ticks.
   DateTime dt2 = DateTime(DateTime::MinValue.Ticks);
   
   // Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
   // calendar based on the "en-US" culture, and ticks. 
   Int64 ticks = DateTime(1979,07,28,22,35,5,(gcnew CultureInfo( "en-US",false ))->Calendar).Ticks;
   DateTime dt3 = DateTime(ticks);
   Console::WriteLine( format, 1, "maximum", dt1 );
   Console::WriteLine( format, 2, "minimum", dt2 );
   Console::WriteLine( format, 3, "custom ", dt3 );
   Console::WriteLine( "\nThe custom date and time is created from {0:N0} ticks.", ticks );
}

/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/
// This example demonstrates the DateTime(Int64) constructor.
using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
// Instead of using the implicit, default "G" date and time format string, we 
// use a custom format string that aligns the results and inserts leading zeroes.
    string format = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}";

// Create a DateTime for the maximum date and time using ticks.
    DateTime dt1 = new DateTime(DateTime.MaxValue.Ticks);

// Create a DateTime for the minimum date and time using ticks.
    DateTime dt2 = new DateTime(DateTime.MinValue.Ticks);

// Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
// calendar based on the "en-US" culture, and ticks. 
    long ticks = new DateTime(1979, 07, 28, 22, 35, 5, 
    new CultureInfo("en-US", false).Calendar).Ticks;
    DateTime dt3 = new DateTime(ticks);

    Console.WriteLine(format, 1, "maximum", dt1);
    Console.WriteLine(format, 2, "minimum", dt2);
    Console.WriteLine(format, 3, "custom ", dt3);
    Console.WriteLine("\nThe custom date and time is created from {0:N0} ticks.", ticks);
    }
}
/*
This example produces the following results:

1) The maximum date and time is 12/31/9999 11:59:59 PM
2) The minimum date and time is 01/01/0001 12:00:00 AM
3) The custom  date and time is 07/28/1979 10:35:05 PM

The custom date and time is created from 624,376,461,050,000,000 ticks.

*/
' This example demonstrates the DateTime(Int64) constructor.
Imports System.Globalization

Class Sample
   Public Shared Sub Main()
      ' Instead of using the implicit, default "G" date and time format string, we 
      ' use a custom format string that aligns the results and inserts leading zeroes.
      Dim format As String = "{0}) The {1} date and time is {2:MM/dd/yyyy hh:mm:ss tt}"
      
      ' Create a DateTime for the maximum date and time using ticks.
      Dim dt1 As New DateTime(DateTime.MaxValue.Ticks)
      
      ' Create a DateTime for the minimum date and time using ticks.
      Dim dt2 As New DateTime(DateTime.MinValue.Ticks)
      
      ' Create a custom DateTime for 7/28/1979 at 10:35:05 PM using a 
      ' calendar based on the "en-US" culture, and ticks. 
      Dim ticks As Long = New DateTime(1979, 7, 28, 22, 35, 5, _
                                       New CultureInfo("en-US", False).Calendar).Ticks
      Dim dt3 As New DateTime(ticks)
      
      Console.WriteLine(format, 1, "maximum", dt1)
      Console.WriteLine(format, 2, "minimum", dt2)
      Console.WriteLine(format, 3, "custom ", dt3)
      Console.WriteLine(vbCrLf & "The custom date and time is created from {0:N0} ticks.", ticks)
   End Sub
End Class
'
'This example produces the following results:
'
'1) The maximum date and time is 12/31/9999 11:59:59 PM
'2) The minimum date and time is 01/01/0001 12:00:00 AM
'3) The custom  date and time is 07/28/1979 10:35:05 PM
'
'The custom date and time is created from 624,376,461,050,000,000 ticks.
'

Hinweise

Die Kind-Eigenschaft wird mit Unspecified initialisiert.The Kind property is initialized to Unspecified.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

DateTime(Int64, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit einer angegebenen Anzahl von Ticks und koordinierter Weltzeit (UTC) oder lokaler Zeit.Initializes a new instance of the DateTime structure to a specified number of ticks and to Coordinated Universal Time (UTC) or local time.

public:
 DateTime(long ticks, DateTimeKind kind);
public DateTime (long ticks, DateTimeKind kind);
new DateTime : int64 * DateTimeKind -> DateTime
Public Sub New (ticks As Long, kind As DateTimeKind)

Parameter

ticks
Int64

Ein Datum und eine Uhrzeit, die als Anzahl der 100-Nanosekunden-Intervalle ausgedrückt werden, die seit dem 1. Januar 0001, 00:00:00.000, im gregorianischen Kalender vergangen sind.A date and time expressed in the number of 100-nanosecond intervals that have elapsed since January 1, 0001 at 00:00:00.000 in the Gregorian calendar.

kind
DateTimeKind

Einer der Enumerationswerte, der angibt, ob ticks eine Ortszeit, die koordinierte Weltzeit (Coordinated Universal Time, UTC) oder keines von beiden angibt.One of the enumeration values that indicates whether ticks specifies a local time, Coordinated Universal Time (UTC), or neither.

Ausnahmen

ticks ist kleiner als MinValue oder größer als MaxValue.ticks is less than MinValue or greater than MaxValue.

kind entspricht keinem der DateTimeKind-Werte.kind is not one of the DateTimeKind values.

Hinweise

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

DateTime(Int32, Int32, Int32)

Initialisiert eine neue Instanz der DateTime-Struktur mit dem angegebenen Jahr, Monat und Tag.Initializes a new instance of the DateTime structure to the specified year, month, and day.

public:
 DateTime(int year, int month, int day);
public DateTime (int year, int month, int day);
new DateTime : int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer)

Parameter

year
Int32

Das Jahr (1 bis 9999).The year (1 through 9999).

month
Int32

Der Monat (1 bis 12).The month (1 through 12).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

Ausnahmen

year ist kleiner als 1 oder größer als 9999.year is less than 1 or greater than 9999.

- oder --or- month ist kleiner als 1 oder größer als 12.month is less than 1 or greater than 12.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32)-Konstruktor verwendet, um einen DateTime-Wert zu instanziieren.The following example uses the DateTime(Int32, Int32, Int32) constructor to instantiate a DateTime value. Das Beispiel veranschaulicht außerdem, dass diese Überladung einen DateTime-Wert erstellt, dessen Zeitkomponente Mitternacht (oder 0:00) ist.The example also illustrates that this overload creates a DateTime value whose time component equals midnight (or 0:00).

DateTime date1 = new DateTime(2010, 8, 18);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      8/18/2010 12:00:00 AM      
Dim date1 As New Date(2010, 8, 18)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 12:00:00 AM      

Hinweise

Dieser Konstruktor interpretiert year, month und day als Jahr, Monat und Tag im gregorianischen Kalender.This constructor interprets year, month, and day as a year, month, and day in the Gregorian calendar. Um einen DateTime-Wert mithilfe von Jahr, Monat und Tag in einem anderen Kalender zu instanziieren, müssen Sie den DateTime(Int32, Int32, Int32, Calendar)-Konstruktor aufzurufen.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Calendar) constructor.

Die Tageszeit für die resultierende DateTime ist Mitternacht (00:00:00).The time of day for the resulting DateTime is midnight (00:00:00). Die Kind-Eigenschaft wird mit DateTimeKind.Unspecified initialisiert.The Kind property is initialized to DateTimeKind.Unspecified.

DateTime(Int32, Int32, Int32, Calendar)

Initialisiert eine neue Instanz der DateTime-Struktur mit dem angegebenen Jahr, Monat und Tag für den angegebenen Kalender.Initializes a new instance of the DateTime structure to the specified year, month, and day for the specified calendar.

public:
 DateTime(int year, int month, int day, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, System.Globalization.Calendar calendar);
new DateTime : int * int * int * System.Globalization.Calendar -> DateTime

Parameter

year
Int32

Das Jahr (1 bis zur Anzahl der Jahre in calendar).The year (1 through the number of years in calendar).

month
Int32

Der Monat (1 bis zur Anzahl der Monate in calendar).The month (1 through the number of months in calendar).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

calendar
Calendar

Der Kalender, der zum Interpretieren von year, month und day verwendet wird.The calendar that is used to interpret year, month, and day.

Ausnahmen

calendar ist null.calendar is null.

year befindet sich nicht im von calendar unterstützten Bereich.year is not in the range supported by calendar.

- oder --or- month ist kleiner als 1 oder größer als die Anzahl der Monate in calendar.month is less than 1 or greater than the number of months in calendar.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Calendar)-Konstruktor zweimal aufgerufen, um zwei DateTime-Werte zu instanziieren.The following example calls the DateTime(Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. Der erste-Befehl instanziiert einen DateTime-Wert mit einem PersianCalendar-Objekt.The first call instantiates a DateTime value by using a PersianCalendar object. Da der persische Kalender nicht als Standardkalender für eine Kulturfest gelegt werden kann, sind für die Anzeige eines Datums im persischen Kalender individuelle Aufrufe der Methoden PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth und PersianCalendar.GetYear erforderlich.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 PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Der zweite-Konstruktor-Konstruktor instanziiert einen DateTime-Wert mit einem HijriCalendar-Objekt.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. Im Beispiel wird die aktuelle Kultur in Arabisch (Syrien) geändert und der Standardkalender der aktuellen Kultur in den Hijri-Kalender geändert.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Da Hijri der Standardkalender der aktuellen Kultur ist, wird es von der Console.WriteLine-Methode verwendet, um das Datum zu formatieren.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Wenn die vorherige aktuelle Kultur (in diesem Fall Englisch (USA)) wieder hergestellt wird, verwendet die Console.WriteLine-Methode den standardmäßigen gregorianischen Kalender der aktuellen Kultur, um das Datum zu formatieren.When the previous current culture (which is English (United States) in this case) is restored, the 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, persian);
      Console.WriteLine(date1.ToString());
      Console.WriteLine("{0}/{1}/{2}\n", persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1));
      
      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, hijri);
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current, 
                        GetCalendarName(hijri), date2);
      
      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", 
                        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 12:00:00 AM
//       5/27/1389
//       
//       Using the Hijri Calendar:
//       ar-SY culture using the Hijri calendar: 09/09/1431
//       en-US culture using the Gregorian calendar: 8/18/2010
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1))
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, hijri)
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", current, _
                        GetCalendarName(hijri), date2) 
      
      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      Console.WriteLine("{0} culture using the {1} calendar: {2:d}", _
                        CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       8/18/2010 12:00:00 AM
'       5/27/1389
'       
'       Using the Hijri Calendar:
'       ar-SY culture using the Hijri calendar: 09/09/1431
'       en-US culture using the Gregorian calendar: 8/18/2010

Hinweise

Die Tageszeit für die resultierende DateTime ist Mitternacht (00:00:00).The time of day for the resulting DateTime is midnight (00:00:00). Die Kind-Eigenschaft wird mit Unspecified initialisiert.The Kind property is initialized to Unspecified.

Die zulässigen Werte für "year", "month" und "day" hängen von calendar ab.The allowable values for year, month, and day depend on calendar. Eine-Ausnahme wird ausgelöst, wenn das angegebene Datum und die angegebene Uhrzeit nicht mit calendar ausgedrückt werden können.An exception is thrown if the specified date and time cannot be expressed using calendar.

Wichtig

Die Zeitrechnung in japanischen Kalendern basiert auf den Regierungsperioden der Kaiser und wird sich daher erwartungsgemäß ändern.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Beispiel: Der 1. Mai 2019 markiert den Beginn des Reiwa-Zeitabschnitts in den Kalendern des Typs JapaneseCalendar und JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Eine derartige Änderung der Zeitabschnitte betrifft alle Anwendungen, die diese Kalender verwenden.Such a change of era affects all applications that use these calendars. Unter Handling a new era in the Japanese calendar in .NET (Umgang mit einem neuen Zeitabschnitt im japanischen Kalender in .NET) finden Sie weiter Informationen und wie Sie bestimmen können, ob Ihre Anwendungen ebenfalls betroffen sind.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Unter Prepare your application for the Japanese era change (Vorbereiten Ihrer Anwendung für die Änderung des Zeitabschnitts im japanischen Kalender) finden Sie Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um deren Bereitschaft für die Änderung im Zeitabschnitt sicherzustellen.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Unter Arbeiten mit Zeiträumen finden Sie Informationen zu Funktionen in .NET, die Kalender mit mehreren Zeitabschnitten unterstützen, sowie bewährte Vorgehensweisen bei der Arbeit mit solchen Kalendern.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

Der System.Globalization-Namespace stellt verschiedene Kalender bereit, einschließlich GregorianCalendar und JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Siehe auch

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute und Sekunde.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second);
public DateTime (int year, int month, int day, int hour, int minute, int second);
new DateTime : int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer)

Parameter

year
Int32

Das Jahr (1 bis 9999).The year (1 through 9999).

month
Int32

Der Monat (1 bis 12).The month (1 through 12).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

Ausnahmen

year ist kleiner als 1 oder größer als 9999.year is less than 1 or greater than 9999.

- oder --or- month ist kleiner als 1 oder größer als 12.month is less than 1 or greater than 12.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23.

- oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

Beispiele

Im folgenden Beispiel wird der DateTime-Konstruktor verwendet, um einen DateTime-Wert zu instanziieren.The following example uses the DateTime constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0);
Console.WriteLine(date1.ToString());
// The example displays the following output:
//      8/18/2010 4:32:00 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 0)
Console.WriteLine(date1.ToString())
' The example displays the following output:
'      8/18/2010 4:32:00 PM

Hinweise

Die Kind-Eigenschaft wird mit Unspecified initialisiert.The Kind property is initialized to Unspecified.

Dieser Konstruktor interpretiert @ no__t-0, month und day als Jahr, Monat und Tag im gregorianischen Kalender.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Um einen DateTime-Wert mithilfe von Jahr, Monat und Tag in einem anderen Kalender zu instanziieren, müssen Sie den DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)-Konstruktor aufzurufen.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde und koordinierte Weltzeit (Coordinated Universal Time, UTC) oder Ortszeit.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and Coordinated Universal Time (UTC) or local time.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, kind As DateTimeKind)

Parameter

year
Int32

Das Jahr (1 bis 9999).The year (1 through 9999).

month
Int32

Der Monat (1 bis 12).The month (1 through 12).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

kind
DateTimeKind

Einer der Enumerationswerte, der angibt, ob year, month, day, hour, minute und second eine Ortszeit, die koordinierte Weltzeit (Coordinated Universal Time, UTC) oder keines von beiden enthalten.One of the enumeration values that indicates whether year, month, day, hour, minute and second specify a local time, Coordinated Universal Time (UTC), or neither.

Ausnahmen

year ist kleiner als 1 oder größer als 9999.year is less than 1 or greater than 9999.

- oder --or- month ist kleiner als 1 oder größer als 12.month is less than 1 or greater than 12.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23.

- oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

kind entspricht keinem der DateTimeKind-Werte.kind is not one of the DateTimeKind values.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)-Konstruktor verwendet, um einen DateTime-Wert zu instanziieren.The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 0, DateTimeKind.Local);
Console.WriteLine("{0} {1}", date1, date1.Kind);
// The example displays the following output:
//      8/18/2010 4:32:00 PM Local
Dim date1 As New Date(2010, 8, 18, 16, 32, 0, DateTimeKind.Local)
Console.WriteLine("{0} {1}", date1, date1.Kind)
' The example displays the following output:
'      8/18/2010 4:32:00 PM Local

Hinweise

Dieser Konstruktor interpretiert @ no__t-0, month und day als Jahr, Monat und Tag im gregorianischen Kalender.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Um einen DateTime-Wert mithilfe von Jahr, Monat und Tag in einem anderen Kalender zu instanziieren, müssen Sie den DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)-Konstruktor aufzurufen.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

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

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute und Sekunde für den angegebenen Kalender.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, and second for the specified calendar.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * System.Globalization.Calendar -> DateTime

Parameter

year
Int32

Das Jahr (1 bis zur Anzahl der Jahre in calendar).The year (1 through the number of years in calendar).

month
Int32

Der Monat (1 bis zur Anzahl der Monate in calendar).The month (1 through the number of months in calendar).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

calendar
Calendar

Der Kalender, der zum Interpretieren von year, month und day verwendet wird.The calendar that is used to interpret year, month, and day.

Ausnahmen

calendar ist null.calendar is null.

year befindet sich nicht im von calendar unterstützten Bereich.year is not in the range supported by calendar.

- oder --or- month ist kleiner als 1 oder größer als die Anzahl der Monate in calendar.month is less than 1 or greater than the number of months in calendar.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23 - oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)-Konstruktor zweimal aufgerufen, um zwei DateTime-Werte zu instanziieren.The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. Der erste-Befehl instanziiert einen DateTime-Wert mit einem PersianCalendar-Objekt.The first call instantiates a DateTime value by using a PersianCalendar object. Da der persische Kalender nicht als Standardkalender für eine Kulturfest gelegt werden kann, sind für die Anzeige eines Datums im persischen Kalender individuelle Aufrufe der Methoden PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth und PersianCalendar.GetYear erforderlich.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 PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Der zweite-Konstruktor-Konstruktor instanziiert einen DateTime-Wert mit einem HijriCalendar-Objekt.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. Im Beispiel wird die aktuelle Kultur in Arabisch (Syrien) geändert und der Standardkalender der aktuellen Kultur in den Hijri-Kalender geändert.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Da Hijri der Standardkalender der aktuellen Kultur ist, wird es von der Console.WriteLine-Methode verwendet, um das Datum zu formatieren.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Wenn die vorherige aktuelle Kultur (in diesem Fall Englisch (USA)) wieder hergestellt wird, verwendet die Console.WriteLine-Methode den standardmäßigen gregorianischen Kalender der aktuellen Kultur, um das Datum zu formatieren.When the previous current culture (which is English (United States) in this case) is restored, the 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
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 0, persian)
      Console.WriteLine(date1.ToString())
      Console.WriteLine("{0}/{1}/{2} {3}{6}{4:D2}{6}{5:D2}", persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      current.DateTimeFormat.Calendar = hijri
      Dim dFormat As String = current.DateTimeFormat.ShortDatePattern
      ' Ensure year is displayed as four digits.
      dFormat = Regex.Replace(dFormat, "/yy$", "/yyyy")
      current.DateTimeFormat.ShortDatePattern = dFormat
      Dim date2 As New Date(1431, 9, 9, 16, 32, 0, 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) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' 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

Hinweise

Die Kind-Eigenschaft wird mit Unspecified initialisiert.The Kind property is initialized to Unspecified.

Die zulässigen Werte für "year", "month" und "day" hängen von calendar ab.The allowable values for year, month, and day depend on calendar. Eine-Ausnahme wird ausgelöst, wenn das angegebene Datum und die angegebene Uhrzeit nicht mit calendar ausgedrückt werden können.An exception is thrown if the specified date and time cannot be expressed using calendar.

Wichtig

Die Zeitrechnung in japanischen Kalendern basiert auf den Regierungsperioden der Kaiser und wird sich daher erwartungsgemäß ändern.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Beispiel: Der 1. Mai 2019 markiert den Beginn des Reiwa-Zeitabschnitts in den Kalendern des Typs JapaneseCalendar und JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Eine derartige Änderung der Zeitabschnitte betrifft alle Anwendungen, die diese Kalender verwenden.Such a change of era affects all applications that use these calendars. Unter Handling a new era in the Japanese calendar in .NET (Umgang mit einem neuen Zeitabschnitt im japanischen Kalender in .NET) finden Sie weiter Informationen und wie Sie bestimmen können, ob Ihre Anwendungen ebenfalls betroffen sind.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Unter Prepare your application for the Japanese era change (Vorbereiten Ihrer Anwendung für die Änderung des Zeitabschnitts im japanischen Kalender) finden Sie Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um deren Bereitschaft für die Änderung im Zeitabschnitt sicherzustellen.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Unter Arbeiten mit Zeiträumen finden Sie Informationen zu Funktionen in .NET, die Kalender mit mehreren Zeitabschnitten unterstützen, sowie bewährte Vorgehensweisen bei der Arbeit mit solchen Kalendern.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

Der System.Globalization-Namespace stellt verschiedene Kalender bereit, einschließlich GregorianCalendar und JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Siehe auch

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde und Millisekunde.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond);
new DateTime : int * int * int * int * int * int * int -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer)

Parameter

year
Int32

Das Jahr (1 bis 9999).The year (1 through 9999).

month
Int32

Der Monat (1 bis 12).The month (1 through 12).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

millisecond
Int32

Die Millisekunden (0 bis 999).The milliseconds (0 through 999).

Ausnahmen

year ist kleiner als 1 oder größer als 9999.year is less than 1 or greater than 9999.

- oder --or- month ist kleiner als 1 oder größer als 12.month is less than 1 or greater than 12.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23.

- oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

- oder --or- millisecond ist kleiner als 0 (null) oder größer als 999.millisecond is less than 0 or greater than 999.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)-Konstruktor verwendet, um einen DateTime-Wert zu instanziieren.The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500);
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"));
// The example displays the following output:
//      8/18/2010 4:32:18.500 PM
Dim date1 As New Date(2010, 8, 18, 16, 32, 18, 500)
Console.WriteLine(date1.ToString("M/dd/yyyy h:mm:ss.fff tt"))
' The example displays the following output:
'      8/18/2010 4:32:18.500 PM

Hinweise

Dieser Konstruktor interpretiert @ no__t-0, month und day als Jahr, Monat und Tag im gregorianischen Kalender.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Um einen DateTime-Wert mithilfe von Jahr, Monat und Tag in einem anderen Kalender zu instanziieren, müssen Sie den DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)-Konstruktor aufzurufen.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor.

Die Kind-Eigenschaft wird mit Unspecified initialisiert.The Kind property is initialized to Unspecified.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

Siehe auch

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde und koordinierte Weltzeit (Coordinated Universal Time, UTC) oder Ortszeit.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * DateTimeKind -> DateTime
Public Sub New (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, kind As DateTimeKind)

Parameter

year
Int32

Das Jahr (1 bis 9999).The year (1 through 9999).

month
Int32

Der Monat (1 bis 12).The month (1 through 12).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

millisecond
Int32

Die Millisekunden (0 bis 999).The milliseconds (0 through 999).

kind
DateTimeKind

Einer der Enumerationswerte, der angibt, ob year, month, day, hour, minute, second und millisecond eine Ortszeit, die koordinierte Weltzeit (Coordinated Universal Time, UTC) oder keines von beiden enthalten.One of the enumeration values that indicates whether year, month, day, hour, minute, second, and millisecond specify a local time, Coordinated Universal Time (UTC), or neither.

Ausnahmen

year ist kleiner als 1 oder größer als 9999.year is less than 1 or greater than 9999.

- oder --or- month ist kleiner als 1 oder größer als 12.month is less than 1 or greater than 12.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23.

- oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

- oder --or- millisecond ist kleiner als 0 (null) oder größer als 999.millisecond is less than 0 or greater than 999.

kind entspricht keinem der DateTimeKind-Werte.kind is not one of the DateTimeKind values.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)-Konstruktor verwendet, um einen DateTime-Wert zu instanziieren.The following example uses the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind) constructor to instantiate a DateTime value.

DateTime date1 = new DateTime(2010, 8, 18, 16, 32, 18, 500, 
                              DateTimeKind.Local);
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
// The example displays the following output:
//      8/18/2010 4:32:18.500 PM Local
Dim date1 As New Date(2010, 8, 18, 16, 32, 18, 500, DateTimeKind.Local)
Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind)
' The example displays the following output:
'      8/18/2010 4:32:18.500 PM Local

Hinweise

Dieser Konstruktor interpretiert @ no__t-0, month und day als Jahr, Monat und Tag im gregorianischen Kalender.This constructor interpretsyear, month, and day as a year, month, and day in the Gregorian calendar. Um einen DateTime-Wert mithilfe von Jahr, Monat und Tag in einem anderen Kalender zu instanziieren, müssen Sie den DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)-Konstruktor aufzurufen.To instantiate a DateTime value by using the year, month, and day in another calendar, call the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

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

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.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, and millisecond for the specified calendar.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar -> DateTime

Parameter

year
Int32

Das Jahr (1 bis zur Anzahl der Jahre in calendar).The year (1 through the number of years in calendar).

month
Int32

Der Monat (1 bis zur Anzahl der Monate in calendar).The month (1 through the number of months in calendar).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

millisecond
Int32

Die Millisekunden (0 bis 999).The milliseconds (0 through 999).

calendar
Calendar

Der Kalender, der zum Interpretieren von year, month und day verwendet wird.The calendar that is used to interpret year, month, and day.

Ausnahmen

calendar ist null.calendar is null.

year befindet sich nicht im von calendar unterstützten Bereich.year is not in the range supported by calendar.

- oder --or- month ist kleiner als 1 oder größer als die Anzahl der Monate in calendar.month is less than 1 or greater than the number of months in calendar.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23.

- oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

- oder --or- millisecond ist kleiner als 0 (null) oder größer als 999.millisecond is less than 0 or greater than 999.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)-Konstruktor zweimal aufgerufen, um zwei DateTime-Werte zu instanziieren.The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar) constructor twice to instantiate two DateTime values. Der erste-Befehl instanziiert einen DateTime-Wert mit einem PersianCalendar-Objekt.The first call instantiates a DateTime value by using a PersianCalendar object. Da der persische Kalender nicht als Standardkalender für eine Kulturfest gelegt werden kann, sind für die Anzeige eines Datums im persischen Kalender individuelle Aufrufe der Methoden PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth und PersianCalendar.GetYear erforderlich.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 PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Der zweite-Konstruktor-Konstruktor instanziiert einen DateTime-Wert mit einem HijriCalendar-Objekt.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. Im Beispiel wird die aktuelle Kultur in Arabisch (Syrien) geändert und der Standardkalender der aktuellen Kultur in den Hijri-Kalender geändert.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Da Hijri der Standardkalender der aktuellen Kultur ist, wird es von der Console.WriteLine-Methode verwendet, um das Datum zu formatieren.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Wenn die vorherige aktuelle Kultur (in diesem Fall Englisch (USA)) wieder hergestellt wird, verwendet die Console.WriteLine-Methode den standardmäßigen gregorianischen Kalender der aktuellen Kultur, um das Datum zu formatieren.When the previous current culture (which is English (United States) in this case) is restored, the 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
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(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}", _
                                       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()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = 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 + "}"
      Dim date2 As New Date(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) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       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

Hinweise

Die Kind-Eigenschaft wird mit Unspecified initialisiert.The Kind property is initialized to Unspecified.

Die zulässigen Werte für "year", "month" und "day" hängen von calendar ab.The allowable values for year, month, and day depend on calendar. Eine-Ausnahme wird ausgelöst, wenn das angegebene Datum und die angegebene Uhrzeit nicht mit calendar ausgedrückt werden können.An exception is thrown if the specified date and time cannot be expressed using calendar.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

Wichtig

Die Zeitrechnung in japanischen Kalendern basiert auf den Regierungsperioden der Kaiser und wird sich daher erwartungsgemäß ändern.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Beispiel: Der 1. Mai 2019 markiert den Beginn des Reiwa-Zeitabschnitts in den Kalendern des Typs JapaneseCalendar und JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Eine derartige Änderung der Zeitabschnitte betrifft alle Anwendungen, die diese Kalender verwenden.Such a change of era affects all applications that use these calendars. Unter Handling a new era in the Japanese calendar in .NET (Umgang mit einem neuen Zeitabschnitt im japanischen Kalender in .NET) finden Sie weiter Informationen und wie Sie bestimmen können, ob Ihre Anwendungen ebenfalls betroffen sind.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Unter Prepare your application for the Japanese era change (Vorbereiten Ihrer Anwendung für die Änderung des Zeitabschnitts im japanischen Kalender) finden Sie Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um deren Bereitschaft für die Änderung im Zeitabschnitt sicherzustellen.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Unter Arbeiten mit Zeiträumen finden Sie Informationen zu Funktionen in .NET, die Kalender mit mehreren Zeitabschnitten unterstützen, sowie bewährte Vorgehensweisen bei der Arbeit mit solchen Kalendern.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

Der System.Globalization-Namespace stellt verschiedene Kalender bereit, einschließlich GregorianCalendar und JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Siehe auch

DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)

Initialisiert eine neue Instanz der DateTime-Struktur mit den angegebenen Werten für Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde und koordinierte Weltzeit (Coordinated Universal Time, UTC) oder Ortszeit für den angegebenen Kalender.Initializes a new instance of the DateTime structure to the specified year, month, day, hour, minute, second, millisecond, and Coordinated Universal Time (UTC) or local time for the specified calendar.

public:
 DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, System::Globalization::Calendar ^ calendar, DateTimeKind kind);
public DateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, System.Globalization.Calendar calendar, DateTimeKind kind);
new DateTime : int * int * int * int * int * int * int * System.Globalization.Calendar * DateTimeKind -> DateTime

Parameter

year
Int32

Das Jahr (1 bis zur Anzahl der Jahre in calendar).The year (1 through the number of years in calendar).

month
Int32

Der Monat (1 bis zur Anzahl der Monate in calendar).The month (1 through the number of months in calendar).

day
Int32

Der Tag (1 bis zur Anzahl der Tage in month).The day (1 through the number of days in month).

hour
Int32

Die Stunden (0 bis 23).The hours (0 through 23).

minute
Int32

Die Minuten (0 bis 59).The minutes (0 through 59).

second
Int32

Die Sekunden (0 bis 59).The seconds (0 through 59).

millisecond
Int32

Die Millisekunden (0 bis 999).The milliseconds (0 through 999).

calendar
Calendar

Der Kalender, der zum Interpretieren von year, month und day verwendet wird.The calendar that is used to interpret year, month, and day.

kind
DateTimeKind

Einer der Enumerationswerte, der angibt, ob year, month, day, hour, minute, second und millisecond eine Ortszeit, die koordinierte Weltzeit (Coordinated Universal Time, UTC) oder keines von beiden enthalten.One of the enumeration values that indicates whether year, month, day, hour, minute, second, and millisecond specify a local time, Coordinated Universal Time (UTC), or neither.

Ausnahmen

calendar ist null.calendar is null.

year befindet sich nicht im von calendar unterstützten Bereich.year is not in the range supported by calendar.

- oder --or- month ist kleiner als 1 oder größer als die Anzahl der Monate in calendar.month is less than 1 or greater than the number of months in calendar.

- oder --or- day ist kleiner als 1 oder größer als die Anzahl der Tage in month.day is less than 1 or greater than the number of days in month.

- oder --or- hour ist kleiner als 0 (null) oder größer als 23.hour is less than 0 or greater than 23.

- oder --or- minute ist kleiner als 0 (null) oder größer als 59.minute is less than 0 or greater than 59.

- oder --or- second ist kleiner als 0 (null) oder größer als 59.second is less than 0 or greater than 59.

- oder --or- millisecond ist kleiner als 0 (null) oder größer als 999.millisecond is less than 0 or greater than 999.

kind entspricht keinem der DateTimeKind-Werte.kind is not one of the DateTimeKind values.

Beispiele

Im folgenden Beispiel wird der DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)-Konstruktor zweimal aufgerufen, um zwei DateTime-Werte zu instanziieren.The following example calls the DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind) constructor twice to instantiate two DateTime values. Der erste-Befehl instanziiert einen DateTime-Wert mit einem PersianCalendar-Objekt.The first call instantiates a DateTime value by using a PersianCalendar object. Da der persische Kalender nicht als Standardkalender für eine Kulturfest gelegt werden kann, sind für die Anzeige eines Datums im persischen Kalender individuelle Aufrufe der Methoden PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth und PersianCalendar.GetYear erforderlich.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 PersianCalendar.GetMonth, PersianCalendar.GetDayOfMonth, and PersianCalendar.GetYear methods. Der zweite-Konstruktor-Konstruktor instanziiert einen DateTime-Wert mit einem HijriCalendar-Objekt.The second call to the constructor instantiates a DateTime value by using a HijriCalendar object. Im Beispiel wird die aktuelle Kultur in Arabisch (Syrien) geändert und der Standardkalender der aktuellen Kultur in den Hijri-Kalender geändert.The example changes the current culture to Arabic (Syria) and changes the current culture's default calendar to the Hijri calendar. Da Hijri der Standardkalender der aktuellen Kultur ist, wird es von der Console.WriteLine-Methode verwendet, um das Datum zu formatieren.Because Hijri is the current culture's default calendar, the Console.WriteLine method uses it to format the date. Wenn die vorherige aktuelle Kultur (in diesem Fall Englisch (USA)) wieder hergestellt wird, verwendet die Console.WriteLine-Methode den standardmäßigen gregorianischen Kalender der aktuellen Kultur, um das Datum zu formatieren.When the previous current culture (which is English (United States) in this case) is restored, the 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, DateTimeKind.Local);
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind);
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}\n", 
                                       persian.GetMonth(date1), 
                                       persian.GetDayOfMonth(date1), 
                                       persian.GetYear(date1), 
                                       persian.GetHour(date1), 
                                       persian.GetMinute(date1), 
                                       persian.GetSecond(date1), 
                                       persian.GetMilliseconds(date1), 
                                       date1.Kind, 
                                       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 + "} {3}";
      DateTime date2 = new DateTime(1431, 9, 9, 16, 32, 18, 500, 
                                    hijri, DateTimeKind.Local);
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), 
                        date2, date2.Kind);
      
      // Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture;
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff";
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}";
      Console.WriteLine(fmtString, 
                        CultureInfo.CurrentCulture, 
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), 
                        date2, date2.Kind); 
   }
   
   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:18.500 PM Local
//    5/27/1389 16:32:18.500 Local
//    
//    Using the Hijri Calendar:
//    ar-SY culture using the Hijri calendar: 09/09/1431 16:32:18.500 Local
//    en-US culture using the Gregorian calendar: 8/18/2010 16:32:18.500 Local
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Threading

Module Example
   Public Sub Main()
      Console.WriteLine("Using the Persian Calendar:")
      Dim persian As New PersianCalendar()
      Dim date1 As New Date(1389, 5, 27, 16, 32, 18, 500, _
                            persian, DateTimeKind.Local)
      Console.WriteLine("{0:M/dd/yyyy h:mm:ss.fff tt} {1}", date1, date1.Kind)
      Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}", _
                                       persian.GetMonth(date1), _
                                       persian.GetDayOfMonth(date1), _
                                       persian.GetYear(date1), _
                                       persian.GetHour(date1), _
                                       persian.GetMinute(date1), _
                                       persian.GetSecond(date1), _
                                       persian.GetMilliseconds(date1), _
                                       date1.Kind, _
                                       DateTimeFormatInfo.CurrentInfo.TimeSeparator)
      Console.WriteLine()
      
      Console.WriteLine("Using the Hijri Calendar:")
      ' Get current culture so it can later be restored.
      Dim dftCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      
      ' Define strings for use in composite formatting.
      Dim dFormat As String 
      Dim fmtString As String 
      ' Define Hijri calendar.
      Dim hijri As New HijriCalendar()
      ' Make ar-SY the current culture and Hijri the current calendar.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("ar-SY")
      Dim current As CultureInfo = 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 + "} {3}"
      Dim date2 As New Date(1431, 9, 9, 16, 32, 18, 500, _
                            hijri, DateTimeKind.Local)
      Console.WriteLine(fmtString, current, GetCalendarName(hijri), _
                        date2, date2.Kind) 

      ' Restore previous culture.
      Thread.CurrentThread.CurrentCulture = dftCulture
      dFormat = DateTimeFormatInfo.CurrentInfo.ShortDatePattern +" H:mm:ss.fff"
      fmtString = "{0} culture using the {1} calendar: {2:" + dFormat + "} {3}"
      Console.WriteLine(fmtString, CultureInfo.CurrentCulture, _
                        GetCalendarName(CultureInfo.CurrentCulture.Calendar), _
                        date2, date2.Kind) 
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return Regex.Match(cal.ToString(), "\.(\w+)Calendar").Groups(1).Value
   End Function
End Module
' The example displays the following output:
'       Using the Persian Calendar:
'       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

Hinweise

Die zulässigen Werte für die Parameter "year", "month" und "day" hängen vom calendar-Parameter ab.The allowable values for year, month, and day parameters depend on the calendar parameter. Eine-Ausnahme wird ausgelöst, wenn das angegebene Datum und die angegebene Uhrzeit nicht mit calendar ausgedrückt werden können.An exception is thrown if the specified date and time cannot be expressed using calendar.

Für Anwendungen, in denen die Portabilität von Datums-und uhrzeitanwendungen oder eine begrenzte Zeit Zonen Erkennung wichtig ist, können Sie den entsprechenden DateTimeOffset-Konstruktor verwenden.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 DateTimeOffset constructor.

Wichtig

Die Zeitrechnung in japanischen Kalendern basiert auf den Regierungsperioden der Kaiser und wird sich daher erwartungsgemäß ändern.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Beispiel: Der 1. Mai 2019 markiert den Beginn des Reiwa-Zeitabschnitts in den Kalendern des Typs JapaneseCalendar und JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Eine derartige Änderung der Zeitabschnitte betrifft alle Anwendungen, die diese Kalender verwenden.Such a change of era affects all applications that use these calendars. Unter Handling a new era in the Japanese calendar in .NET (Umgang mit einem neuen Zeitabschnitt im japanischen Kalender in .NET) finden Sie weiter Informationen und wie Sie bestimmen können, ob Ihre Anwendungen ebenfalls betroffen sind.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Unter Prepare your application for the Japanese era change (Vorbereiten Ihrer Anwendung für die Änderung des Zeitabschnitts im japanischen Kalender) finden Sie Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um deren Bereitschaft für die Änderung im Zeitabschnitt sicherzustellen.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Unter Arbeiten mit Zeiträumen finden Sie Informationen zu Funktionen in .NET, die Kalender mit mehreren Zeitabschnitten unterstützen, sowie bewährte Vorgehensweisen bei der Arbeit mit solchen Kalendern.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

Der System.Globalization-Namespace stellt verschiedene Kalender bereit, einschließlich GregorianCalendar und JulianCalendar.The System.Globalization namespace provides several calendars including GregorianCalendar and JulianCalendar.

Gilt für: