Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
DateTime-Struktur
Stellt einen Zeitpunkt dar, der normalerweise durch Datum und Uhrzeit dargestellt wird.
Assembly: mscorlib (in mscorlib.dll)
Der DateTime-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
DateTime(Int64) | Initialisiert eine neue Instanz der DateTime-Struktur mit der angegebenen Anzahl von Ticks. |
|
DateTime(Int64, DateTimeKind) | Initialisiert eine neue Instanz der DateTime-Struktur mit einer angegebenen Anzahl von Ticks und koordinierter Weltzeit (UTC) oder lokaler Zeit. |
|
DateTime(Int32, Int32, Int32) | Initialisiert eine neue Instanz der DateTime-Struktur mit dem angegebenen Jahr, Monat und Tag. |
|
DateTime(Int32, Int32, Int32, Calendar) | Initialisiert eine neue Instanz der DateTime-Struktur mit dem angegebenen Jahr, Monat und Tag für den angegebenen Kalender. |
|
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. |
|
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 lokale Zeit. |
|
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. |
|
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. |
|
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 lokale Zeit. |
|
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. |
|
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 lokale Zeit für den angegebenen Kalender. |
| Name | Beschreibung | |
|---|---|---|
|
Date | Ruft die Datumskomponente dieser Instanz ab. |
|
Day | Ruft den Tag des Monats ab, der durch diese Instanz dargestellt wird. |
|
DayOfWeek | Ruft den Wochentag ab, der durch diese Instanz dargestellt wird. |
|
DayOfYear | Ruft den Tag des Jahres ab, der durch diese Instanz dargestellt wird. |
|
Hour | Ruft die Komponente für die Stunden des Datums ab, das durch diese Instanz dargestellt wird. |
|
Kind | Ruft einen Wert ab, der angibt, ob die durch diese Instanz dargestellte Zeit auf lokaler Zeit, koordinierter Weltzeit (UTC) oder keinem von beiden basiert. |
|
Millisecond | Ruft die Komponente für die Millisekunden des Datums ab, das durch diese Instanz dargestellt wird. |
|
Minute | Ruft die Komponente für die Minuten des Datums ab, das durch diese Instanz dargestellt wird. |
|
Month | Ruft die Komponente für den Monat des Datums ab, das durch diese Instanz dargestellt wird. |
|
Now | Ruft ein DateTime-Objekt ab, das auf das aktuelle Datum und die aktuelle Zeit auf dem lokalen Rechner als lokale Zeit festgelegt ist. |
|
Second | Ruft die Komponente für die Sekunden des Datums ab, das durch diese Instanz dargestellt wird. |
|
Ticks | Ruft die Anzahl der Ticks ab, die Datum und Uhrzeit dieser Instanz darstellen. |
|
TimeOfDay | Ruft die Uhrzeit für diese Instanz ab. |
|
Today | Ruft das aktuelle Datum ab. |
|
UtcNow | Ruft ein DateTime-Objekt ab, das auf das aktuelle Datum und die aktuelle Zeit dieses Computers in Form der koordinierten Weltzeit (UTC) festgelegt ist. |
|
Year | Ruft die Komponente für das Jahr des Datums ab, das durch diese Instanz dargestellt wird. |
| Name | Beschreibung | |
|---|---|---|
|
Add | Gibt eine neue DateTime zurück, die den Wert der angegebenen TimeSpan zum Wert dieser Instanz addiert. |
|
AddDays | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Tage zum Wert dieser Instanz addiert. |
|
AddHours | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Stunden zum Wert dieser Instanz addiert. |
|
AddMilliseconds | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Millisekunden zum Wert dieser Instanz addiert. |
|
AddMinutes | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Minuten zum Wert dieser Instanz addiert. |
|
AddMonths | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Monate zum Wert dieser Instanz addiert. |
|
AddSeconds | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Sekunden zum Wert dieser Instanz addiert. |
|
AddTicks | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Ticks zum Wert dieser Instanz addiert. |
|
AddYears | Gibt eine neue DateTime zurück, die die angegebene Anzahl der Jahre zum Wert dieser Instanz addiert. |
|
Compare | Vergleicht zwei Instanzen von DateTime und gibt eine ganze Zahl zurück, die angibt, ob die erste Instanz früher oder später als die zweite Instanz ist oder ob sie mit dieser identisch ist. |
|
CompareTo(DateTime) | Vergleicht den Wert dieser Instanz mit einem angegebenen DateTime-Wert und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht. |
|
CompareTo(Object) | Vergleicht den Wert dieser Instanz mit einem angegebenen Objekt, das einen angegebenen DateTime-Wert enthält, und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz vor oder nach dem angegebenen DateTime-Wert liegt oder diesem entspricht. |
|
DaysInMonth | Gibt die Anzahl der Tage im angegebenen Monat und Jahr zurück. |
|
Equals(DateTime) | Gibt einen Wert zurück, der angibt, ob diese Instanz gleich der angegebenen DateTime-Instanz ist. |
|
Equals(Object) | Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Überschreibt ValueType.Equals(Object).) |
|
Equals(DateTime, DateTime) | Gibt einen Wert zurück, der angibt, ob zwei Instanzen von DateTime gleich sind. |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
FromBinary | Deserialisiert einen 64-Bit-Binärwert und erstellt ein ursprüngliches serialisierte DateTime-Objekt neu. |
|
FromFileTime | Konvertiert die angegebene Windows-Dateizeit in eine entsprechende lokale Zeit. |
|
FromFileTimeUtc | Konvertiert die angegebene Windows-Dateizeit in eine entsprechende UTC-Zeit. |
|
FromOADate | Gibt eine DateTime zurück, die dem angegebenen Datum für die OLE-Automatisierung entspricht. |
|
GetDateTimeFormats() | Konvertiert den Wert dieser Instanz in alle Zeichenfolgenentsprechungen, die von den Standardformatbezeichnern für Datum und Uhrzeit unterstützt werden. |
|
GetDateTimeFormats(Char) | Konvertiert den Wert dieser Instanz in alle Zeichenfolgenentsprechungen, die von den angegebenen Standardformatbezeichnern für Datum und Uhrzeit unterstützt werden. |
|
GetDateTimeFormats(IFormatProvider) | Konvertiert den Wert dieser Instanz in alle Zeichenfolgenentsprechungen, die von den Standardformatbezeichnern für Datum und Uhrzeit und den angegebenen kulturabhängigen Formatierungsinformationen unterstützt werden. |
|
GetDateTimeFormats(Char, IFormatProvider) | Konvertiert den Wert dieser Instanz in alle Zeichenfolgenentsprechungen, die von dem angegebenen Standardformatbezeichner für Datum und Uhrzeit und den angegebenen kulturabhängigen Formatierungsinformationen unterstützt werden. |
|
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Überschreibt ValueType.GetHashCode().) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
GetTypeCode | Gibt TypeCode für den Werttyp DateTime zurück. |
|
IsDaylightSavingTime | Gibt an, ob sich diese Instanz von DateTime im Sommerzeitbereich für die aktuelle Zeitzone befindet. |
|
IsLeapYear | Gibt eine Angabe darüber zurück, ob das angegebene Jahr ein Schaltjahr ist. |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Parse(String) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe in die entsprechende DateTime. |
|
Parse(String, IFormatProvider) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende DateTime. |
|
Parse(String, IFormatProvider, DateTimeStyles) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturabhängigen Formatierungsinformationen und des Formatierungsstils in die entsprechende DateTime. |
|
ParseExact(String, String, IFormatProvider) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende DateTime. Das Format der Zeichenfolgenentsprechung muss dem angegebenen Format genau entsprechen. |
|
ParseExact(String, String, IFormatProvider, DateTimeStyles) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung der Angaben über Format, kulturabhängige Formatierungsinformationen und Stil in die entsprechende DateTime. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen. Andernfalls wird eine Ausnahme ausgelöst. |
|
ParseExact(String, String[], IFormatProvider, DateTimeStyles) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung des angegebenen Formatarrays, der kulturabhängigen Formatierungsinformationen und des Stils in die entsprechende DateTime. Das Format der Zeichenfolgendarstellung muss mindestens einem der angegebenen Formate genau entsprechen. Andernfalls wird eine Ausnahme ausgelöst. |
|
SpecifyKind | Erstellt ein neues DateTime-Objekt, das über die gleiche Anzahl von Ticks wie die angegebene DateTime verfügt, aber entsprechend dem DateTimeKind-Wert in Ortszeit, koordinierter Weltzeit (Coordinated Universal Time, UTC) oder keinem von beidem angegeben ist. |
|
Subtract(DateTime) | Subtrahiert die angegebene Datums- und Uhrzeitangabe von dieser Instanz. |
|
Subtract(TimeSpan) | Subtrahiert die angegebene Dauer von dieser Instanz. |
|
ToBinary | Serialisiert das aktuelle DateTime-Objekt in einen 64-Bit-Binärwert, der dann zum erneuten Erstellen des DateTime-Objekts verwendet werden kann. |
|
ToFileTime | Konvertiert den Wert des aktuellen DateTime-Objekts in eine Windows-Dateizeit. |
|
ToFileTimeUtc | Konvertiert den Wert des aktuellen DateTime-Objekts in eine Windows-Dateizeit. |
|
ToLocalTime | Konvertiert den Wert des aktuellen DateTime-Objekts in eine lokale Zeit. |
|
ToLongDateString | Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung im langen Datumsformat. |
|
ToLongTimeString | Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung im langen Zeitformat. |
|
ToOADate | Konvertiert den Wert dieser Instanz in das entsprechende Datum für OLE-Automatisierung. |
|
ToShortDateString | Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung im kurzen Datumsformat. |
|
ToShortTimeString | Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung im kurzen Zeitformat. |
|
ToString() | Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung. (Überschreibt ValueType.ToString().) |
|
ToString(IFormatProvider) | Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
|
ToString(String) | Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung. |
|
ToString(String, IFormatProvider) | Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
|
ToUniversalTime | Konvertiert den Wert des aktuellen DateTime-Objekts in koordinierte Weltzeit (UTC). |
|
TryParse(String, DateTime) | Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde. |
|
TryParse(String, IFormatProvider, DateTimeStyles, DateTime) | Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in die entsprechende DateTime und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
|
TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung der Angaben über Format, kulturabhängige Formatierungsinformationen und Stil in die entsprechende DateTime. Das Format der Zeichenfolgenentsprechung muss dem angegebenen Format genau entsprechen. Die Methode gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
|
TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) | Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung des angegebenen Formatarrays, der kulturabhängigen Formatierungsinformationen und des Stils in die entsprechende DateTime. Das Format der Zeichenfolgenentsprechung muss mindestens einem der angegebenen Formate genau entsprechen. Die Methode gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
| Name | Beschreibung | |
|---|---|---|
|
Addition | Addiert ein angegebenes Zeitintervall zu einer Datums- und Uhrzeitangabe und gibt eine neue Datums- und Uhrzeitangabe zurück. |
|
Equality | Bestimmt, ob zwei angegebene Instanzen von DateTime gleich sind. |
|
GreaterThan | Bestimmt, ob eine angegebene DateTime größer als eine andere angegebene DateTime ist. |
|
GreaterThanOrEqual | Bestimmt, ob eine angegebene DateTime größer oder gleich einer anderen angegebenen DateTime ist. |
|
Inequality | Bestimmt, ob zwei angegebene Instanzen von DateTime ungleich sind. |
|
LessThan | Bestimmt, ob eine angegebene DateTime kleiner als eine andere angegebene DateTime ist. |
|
LessThanOrEqual | Bestimmt, ob eine angegebene DateTime kleiner oder gleich einer anderen angegebenen DateTime ist. |
|
Subtraction(DateTime, DateTime) | Subtrahiert eine angegebene Datums- und Uhrzeitangabe von einer anderen Datums- und Uhrzeitangabe und gibt ein Zeitintervall zurück. |
|
Subtraction(DateTime, TimeSpan) | Subtrahiert ein angegebenes Zeitintervall von einer Datums- und Uhrzeitangabe und gibt eine neue Datums- und Uhrzeitangabe zurück. |
| Name | Beschreibung | |
|---|---|---|
|
MaxValue | Stellt den größtmöglichen Wert von DateTime dar. Dieses Feld ist schreibgeschützt. |
|
MinValue | Stellt den kleinstmöglichen Wert von DateTime dar. Dieses Feld ist schreibgeschützt. |
| Name | Beschreibung | |
|---|---|---|
|
IConvertible.ToBoolean | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToByte | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToChar | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToDateTime | Infrastruktur. Gibt das aktuelle DateTime-Objekt zurück. |
|
IConvertible.ToDecimal | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToDouble | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToInt16 | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToInt32 | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToInt64 | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToSByte | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToSingle | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToType | Infrastruktur. Konvertiert das aktuelle DateTime-Objekt in ein Objekt vom angegebenen Typ. |
|
IConvertible.ToUInt16 | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToUInt32 | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToUInt64 | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
ISerializable.GetObjectData | Füllt ein SerializationInfo-Objekt mit den für das Serialisieren des aktuellen DateTime-Objekts erforderlichen Daten. |
Der DateTime-Werttyp stellt Angaben über Datum und Uhrzeit vom 1. Januar 0001 n. Chr. (unsere Zeitrechnung) 00:00:00 bis zum 31. Dezember 9999 n. Chr. 23:59:59 dar. (unsere Zeitrechnung)
Zeitwerte werden in Einheiten von 100 Nanosekunden gemessen, die als Ticks bezeichnet werden. Ein bestimmtes Datum ist die Anzahl von Ticks seit dem 1. Januar 0001 n. Chr. 00:00:00 (U. Z.) im GregorianCalendar-Kalender (ohne Teilstriche, die bis Sprungsekunden hinzugefügt werden würden). Ein Tickswert von 31241376000000000 stellt z. B. Freitag, den 1. Januar 0100, 00:00:00 dar. Ein DateTime-Wert bezieht sich immer auf den Kontext eines expliziten Kalenders oder eines Standardkalenders.
Hinweis
|
|---|
|
Wenn Sie mit einem Teilstriche-Wert arbeiten, den Sie in ein anderes Zeitintervall, z. B. Minuten oder Sekunden, konvertieren möchten, sollten Sie den TimeSpan.TicksPerDay verwenden oder die TimeSpan.TicksPerHour-Konstante, die TimeSpan.TicksPerMinute-Konstante, die TimeSpan.TicksPerSecond-Konstante oder TimeSpan.TicksPerMillisecond-Konstante, um die Konvertierung auszuführen. Sie können die Anzahl der Sekunden, die durch eine angegebene Anzahl von Teilstrichen zur Second-Komponente eines DateTime-Werts dargestellt wurde, mithilfe des Ausdrucks dateValue.Second + nTicks/Timespan.TicksPerSecond hinzufügen. |
Instanziieren eines DateTime-Objekts
Sie verfügen über folgende Möglichkeiten, um einen neuen DateTime-Wert zu erstellen:
-
Durch das Aufrufen einer der Überladungen des DateTime-Konstruktors, die das Angeben spezifischer Elemente des Datums- und Uhrzeitwerts (wie Jahr, Monat und Tag oder Anzahl der Ticks) ermöglichen. Die folgende Anweisung veranschaulicht einen Aufruf eines der DateTime-Konstruktoren, um ein Datum mit den spezifischen Angaben für Jahr, Monat, Tag, Stunde, Minute und Sekunde zu erstellen.
-
Durch das Verwenden einer compilerspezifischen Syntax zum Deklarieren von Datums- und Uhrzeitwerten. Durch die folgende Visual Basic-Anweisung wird z. B. ein neuer DateTime-Wert initialisiert.
-
Durch das Zuweisen eines Datums- und Uhrzeitwerts zum DateTime-Objekt, der von einer Eigenschaft oder einer Methode zurückgegeben wurde. Im folgenden Beispiel werden drei neuen DateTime-Variablen das aktuelle Datum und die aktuelle Uhrzeit, die aktuellen UTC-Werte (Coordinated Universal Time) für Datum und Uhrzeit sowie das aktuelle Datum zugewiesen.
-
Durch das Analysieren der Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts. Die Methoden Parse, ParseExact, TryParse und TryParseExact konvertieren eine Zeichenfolge in ihren entsprechenden Datums- und Uhrzeitwert. Im folgenden Beispiel wird mit der Parse-Methode eine Zeichenfolge analysiert und in einen DateTime-Wert konvertiert.
Beachten Sie, dass die Methoden TryParse und TryParseExact zusätzlich zum Durchführen der Konvertierung angeben, ob eine bestimmte Zeichenfolge eine gültige Darstellung eines DateTime-Werts enthält.
-
Durch das Aufrufen des impliziten Standardkonstruktors der DateTime-Struktur. (Einzelheiten zum impliziten Standardkonstruktor eines Werttyps finden Sie unter Werttypen (C#-Referenz).) Eine ungefähre Entsprechung für Compiler, die dies unterstützen, deklariert einen DateTime-Wert, ohne dass diesem explizit ein Datums- und Uhrzeitwert zugewiesen wird. Im folgenden Beispiel werden ein Aufruf des impliziten DateTime-Standardkonstruktors in C# und Visual Basic sowie eine DateTime-Variablendeklaration ohne Zuweisung in Visual Basic veranschaulicht.
DateTime-Werte und ihre Zeichenfolgendarstellungen
Intern werden alle DateTime-Werte als Anzahl von Ticks (Anzahl von 100-Nanosekunden-Intervallen) dargestellt, die seit 12:00:00 (Mitternacht), 1. Januar, 0001 verstrichen sind. Der tatsächliche DateTime-Wert ist beim Anzeigen in einem Benutzeroberflächenelement oder beim Schreiben in einer Datei unabhängig von der Methode, in der dieser Wert angezeigt wird. Die Darstellung eines DateTime-Werts ist das Ergebnis eines Formatierungsvorgangs. Beim Formatieren wird ein Wert in seine Zeichenfolgendarstellung konvertiert.
Da die Darstellung von Datum und Uhrzeit von Faktoren wie der Kultur, internationalen Standards, Anwendungsanforderungen und persönlichen Einstellungen abhängt, bietet die DateTime-Struktur beim Formatieren von Datums- und Uhrzeitwerten mit den Überladungen ihrer ToString-Methode ein hohes Maß an Flexibilität. Die standardmäßige DateTime.ToString()-Methode gibt die Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts mit dem Datum im Kurzformat und der Uhrzeit im Langformat der aktuellen Kultur zurück. Im folgenden Beispiel werden mit der standardmäßigen DateTime.ToString()-Methode Datum und Uhrzeit im kurzen Datumsformat und im langen Uhrzeitformat für die Kultur en-US angezeigt, der aktuellen Kultur auf dem Computer, auf dem das Beispiel ausgeführt wurde.
Die DateTime.ToString(IFormatProvider)-Methode gibt die Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts mit dem kurzen Datumsformat und dem langen Uhrzeitformat einer bestimmten Kultur zurück. Im folgenden Beispiel werden mit der DateTime.ToString(IFormatProvider)-Methode Datum und Uhrzeit mit dem kurzen Datumsformat und dem langen Uhrzeitformat für die Kultur fr-FR angezeigt.
Die DateTime.ToString(String)-Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit in einem Format zurück, das von einem standardmäßigen oder benutzerdefinierten Formatbezeichner und mithilfe der Formatierungskonventionen der aktuellen Kultur definiert wird. Im folgenden Beispiel wird mit der DateTime.ToString(String)-Methode das vollständige Datums- und Uhrzeitmuster für die Kultur en-US angezeigt, der aktuellen Kultur auf dem Computer, auf dem das Beispiel ausgeführt wurde.
Die DateTime.ToString(String, IFormatProvider)-Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit in einem Format zurück, das von einem spezifischen Formatbezeichner und mithilfe der Formatierungskonventionen einer spezifischen Kultur definiert wird. Im folgenden Beispiel wird mit der DateTime.ToString(String, IFormatProvider)-Methode das vollständige Datums- und Uhrzeitmuster für die Kultur fr-FR angezeigt.
Versionsaspekte
Vor .NET Framework, Version 2.0, enthält die DateTime-Struktur ein 64-Bit-Feld, das aus einem nicht verwendeten 2-Bit-Feld und einem privaten Ticks-Feld zusammengesetzt ist. Letzteres ist ein 62-Bit-Feld ohne Vorzeichen, das die Anzahl von Ticks zum Darstellen des Datums und der Uhrzeit enthält. Der Wert des Ticks-Felds kann mit der Ticks-Eigenschaft abgerufen werden.
Ab .NET Framework 2.0 enthält die DateTime-Struktur ein 64-Bit-Feld, das aus einem privaten Kind-Feld und dem Ticks-Feld zusammengesetzt ist. Das Kind-Feld ist ein 2-Bit-Feld, das angibt, ob die DateTime-Struktur eine Ortszeit, eine UTC-Zeit (Coordinated Universal Time) oder die Zeit in einer nicht angegebenen Zeitzone darstellt. Das Kind-Feld wird verwendet, um Konvertierungen zwischen Zeitzonen auszuführen, nicht jedoch für Vergleichs- und Arithmetikoperationen mit Zeitwerten. Der Wert des Kind-Felds kann mit der Kind-Eigenschaft abgerufen werden.
Hinweis
|
|---|
|
Eine Alternative zur DateTime-Struktur zum Arbeiten mit Datums- und Zeitwerten in bestimmten Zeitzonen ist die DateTimeOffset-Struktur. Die DateTimeOffset-Struktur speichert Datums- und Zeitinformationen in einem privaten DateTime-Feld sowie die Anzahl der Minuten, um die ein Datum und eine Uhrzeit von UTC abweicht, in einem privaten Int16-Feld. So kann ein DateTimeOffset-Wert die Zeit in einer bestimmten Zeitzone darstellen, während ein DateTime-Wert nur UTC und die Zeit der lokalen Zeitzone eindeutig darstellen kann. Eine Beschreibung der Fälle, in denen die DateTime-Struktur bzw. die DateTimeOffset-Struktur beim Arbeiten mit Datums- und Zeitwerten verwendet wird, finden Sie unter Auswählen zwischen "DateTime", "DateTimeOffset" und "TimeZoneInfo". |
DateTime-Werte
Beschreibungen der Zeitwerte im DateTime-Typ werden oft mithilfe des Standards der koordinierten Weltzeit (Coordinated Universal Time, UTC) ausgedrückt. Dies ist der international anerkannte Name für Greenwich Mean Time (GMT). Koordinierte Weltzeit ist die auf dem Längengrad 0, dem UTC-Ursprungspunkt, gemessene Zeit. Sommerzeit wird bei UTC nicht berücksichtigt.
Die lokale Zeit ist relativ zu einer bestimmten Zeitzone. Eine Zeitzone ist einem Zeitzonenoffset zugeordnet, der den Versatz der Zeitzone in Stunden vom UTC-Ursprungspunkt angibt. Zusätzlich wird bei der lokalen Zeit optional die Sommerzeit berücksichtigt, wodurch von der Dauer eines Tages eine Stunde abgezogen oder zu dieser hinzuaddiert wird. Folglich wird die lokale Zeit durch Addieren des Zeitzonenoffsets zu UTC und ggf. Berücksichtigen der Sommerzeit berechnet. Der Zeitzonenoffset am UTC-Ursprungspunkt ist 0 (null).
Die UTC-Zeit ist für Berechnungen, Vergleiche und das Speichern von Datums- und Zeitangaben in Dateien geeignet. Die Ortszeit ist für die Anzeige in Benutzeroberflächen von Desktopanwendungen geeignet. Anwendungen, die Zeitzonen unterstützen (z. B. viele Webanwendungen), müssen darüber hinaus mit einer Anzahl von anderen Zeitzonen arbeiten.
Wenn die Kind-Eigenschaft eines DateTime-Objekts DateTimeKind.Unspecified ist, ist keine Angabe vorhanden, ob die dargestellte Zeit die Ortszeit, UTC-Zeit oder eine Zeit in einer anderen Zeitzone ist.
DateTime-Operationen
Durch Berechnungen mit einer DateTime-Struktur, z. B. Add oder Subtract wird der Wert der Struktur nicht geändert. Die Berechnung gibt hingegen eine neue DateTime-Struktur zurück, deren Wert das Ergebnis der Berechnung ist.
Bei Konvertierungsoperationen zwischen Zeitzonen (z. B. zwischen UTC-Zeit und Ortszeit oder zwischen zwei Zeitzonen) wird die Sommerzeit berücksichtigt, bei arithmetischen und Vergleichsoperationen hingegen nicht.
Die DateTime-Struktur selbst verfügt über eine begrenzte Unterstützung für das Konvertieren zwischen Zeitzonen. Sie können mit der ToLocalTime-Methode UTC in Ortszeit konvertieren oder mit der ToUniversalTime-Methode eine Konvertierung von der Ortszeit in UTC durchführen. Der vollständige Satz der Konvertierungsmethoden für Zeitzonen ist jedoch in der TimeZoneInfo-Klasse verfügbar. Mit diesen Methoden können Sie die Zeit in einer beliebigen Zeitzone in die Zeit einer beliebigen anderen Zeitzone konvertieren.
Berechnungen und Vergleiche von DateTime-Objekten sind nur dann sinnvoll, wenn die Objekte Zeitangaben in der gleichen Zeitzone darstellen. Sie können mit einem TimeZoneInfo-Objekt die Zeitzone eines DateTime-Werts darstellen, auch wenn diese lose verknüpft sind. (Das heißt, ein DateTime-Objekt verfügt über keine Eigenschaft, die ein Objekt zurückgibt, das eine andere Zeitzone für den betreffenden Datums- und Zeitwert als die Kind-Eigenschaft darstellt.) Aus diesem Grund müssen Sie sich in einer Anwendung, die Zeitzonen erkennt, auf einen externen Mechanismus stützen, um die Zeitzone zu bestimmen, in der ein DateTime-Objekt erstellt wurde. Sie können z. B. eine Struktur verwenden, die den DateTime-Wert und das TimeZoneInfo-Objekt umschließt, das die Zeitzone des DateTime-Werts darstellt. Einzelheiten zum Verwenden von UTC in Berechnungen und Vergleichen mit DateTime-Werten finden Sie unter Durchführen arithmetischer Datums- und Uhrzeitoperationen.
Alle DateTime-Member verwenden implizit den gregorianischen Kalender für Operationen. Ausnahmen hierbei sind Konstruktoren, die einen Kalender angeben, und Methoden mit einem von IFormatProvider abgeleiteten Parameter, z. B. System.Globalization.DateTimeFormatInfo, durch den implizit ein Kalender angegeben wird.
Operation durch Member des DateTime-Typs berücksichtigen Einzelheiten wie Schaltjahre und die Anzahl der Tage eines Monats.
DateTime undTimeSpan
Die Werttypen DateTime und TimeSpan unterscheiden sich darin, dass DateTime einen Zeitpunkt und TimeSpan ein Zeitintervall darstellt. Dies bedeutet z. B., dass Sie eine Instanz von DateTime von einer anderen subtrahieren können, um ein TimeSpan-Objekt zu erhalten, dass das zwischen ihnen liegende Zeitintervall darstellt. Sie können auch eine positive TimeSpan zur aktuellen DateTime addieren, um einen DateTime-Wert zu erhalten, der ein Datum in der Zukunft darstellt.
Sie können ein Zeitintervall zu einem DateTime-Objekt addieren oder von diesem subtrahieren. Zeitintervalle können negativ oder positiv sein, in Einheiten wie Ticks oder Sekunden oder als TimeSpan-Objekt ausgedrückt werden.
COM-Interop-Überlegungen
Ein DateTime-Wert, der an eine COM-Anwendung übertragen wird, wird dann im so genannten Round-Trip zurück an die verwaltete Anwendung übertragen. Ein DateTime-Wert, der nur eine Zeit angibt, verhält sich im Round-Trip hingegen nicht wie erwartet.
Wenn Sie einen Roundtrip nur für eine Zeit ausführen, z. B. 3 Uhr nachmittags, lauten das abschließende Datum und die Uhrzeit 30. Dezember 1899 u. Z. um 15:00 Uhr, statt am 1. Januar 0001 u. Z. um 15:00 Uhr. Dies geschieht, da .NET Framework und COM ein Standarddatum annehmen, wenn nur eine Zeit angegeben wird. Das COM-System nimmt jedoch als Basisdatum den 30. Dezember 1899 u. Z. an. während .NET Framework als Basisdatum den 1. Januars 0001 u. Z. annimmt.
Wenn von .NET Framework an COM nur eine Zeit übergeben wird, wird eine besondere Verarbeitung ausgeführt, bei die Zeit in das von COM verwendete Format konvertiert wird. Wenn von COM an .NET Framework nur eine Zeit übergeben wird, wird keine besondere Verarbeitung ausgeführt, weil diese korrekte Datums- und Zeitangaben am und vor dem 30. Dezember 1899 beschädigen würde. Dies bedeutet auch, wenn ein Datum den Roundtrip aus COM startet, dass .NET Framework und COM das Datum beibehalten.
Das Verhalten von .NET Framework und COM bedeutet, dass bei einem Round-Trip einer DateTime in der Anwendung, mit der nur eine Zeit angegeben wird, die Anwendung die Aufgabe hat, falsche Datumsangaben im letztgültigen DateTime-Objekt zu ändern oder zu ignorieren.
Im folgenden Beispiel wird das Vergleichen annähernd äquivalenter DateTime-Werte veranschaulicht, wobei ein geringer Unterschied für die Bestimmung als gleich zulässig ist.
using System; class DateTimeTester { static bool RoughlyEquals(DateTime time, DateTime timeWithWindow, int windowInSeconds, int frequencyInSeconds) { long delta = (long)((TimeSpan)(timeWithWindow - time)).TotalSeconds % frequencyInSeconds; delta = delta > windowInSeconds ? frequencyInSeconds - delta : delta; return Math.Abs(delta) < windowInSeconds; } public static void Main() { int window = 10; int freq = 60 * 60 * 2; // 2 hours; DateTime d1 = DateTime.Now; DateTime d2 = d1.AddSeconds(2 * window); DateTime d3 = d1.AddSeconds(-2 * window); DateTime d4 = d1.AddSeconds(window / 2); DateTime d5 = d1.AddSeconds(-window / 2); DateTime d6 = (d1.AddHours(2)).AddSeconds(2 * window); DateTime d7 = (d1.AddHours(2)).AddSeconds(-2 * window); DateTime d8 = (d1.AddHours(2)).AddSeconds(window / 2); DateTime d9 = (d1.AddHours(2)).AddSeconds(-window / 2); Console.WriteLine("d1 ({0}) ~= d1 ({1}): {2}", d1, d1, RoughlyEquals(d1, d1, window, freq)); Console.WriteLine("d1 ({0}) ~= d2 ({1}): {2}", d1, d2, RoughlyEquals(d1, d2, window, freq)); Console.WriteLine("d1 ({0}) ~= d3 ({1}): {2}", d1, d3, RoughlyEquals(d1, d3, window, freq)); Console.WriteLine("d1 ({0}) ~= d4 ({1}): {2}", d1, d4, RoughlyEquals(d1, d4, window, freq)); Console.WriteLine("d1 ({0}) ~= d5 ({1}): {2}", d1, d5, RoughlyEquals(d1, d5, window, freq)); Console.WriteLine("d1 ({0}) ~= d6 ({1}): {2}", d1, d6, RoughlyEquals(d1, d6, window, freq)); Console.WriteLine("d1 ({0}) ~= d7 ({1}): {2}", d1, d7, RoughlyEquals(d1, d7, window, freq)); Console.WriteLine("d1 ({0}) ~= d8 ({1}): {2}", d1, d8, RoughlyEquals(d1, d8, window, freq)); Console.WriteLine("d1 ({0}) ~= d9 ({1}): {2}", d1, d9, RoughlyEquals(d1, d9, window, freq)); } } // The example displays output similar to the following: // d1 (1/28/2010 9:01:26 PM) ~= d1 (1/28/2010 9:01:26 PM): True // d1 (1/28/2010 9:01:26 PM) ~= d2 (1/28/2010 9:01:46 PM): False // d1 (1/28/2010 9:01:26 PM) ~= d3 (1/28/2010 9:01:06 PM): False // d1 (1/28/2010 9:01:26 PM) ~= d4 (1/28/2010 9:01:31 PM): True // d1 (1/28/2010 9:01:26 PM) ~= d5 (1/28/2010 9:01:21 PM): True // d1 (1/28/2010 9:01:26 PM) ~= d6 (1/28/2010 11:01:46 PM): False // d1 (1/28/2010 9:01:26 PM) ~= d7 (1/28/2010 11:01:06 PM): False // d1 (1/28/2010 9:01:26 PM) ~= d8 (1/28/2010 11:01:31 PM): True // d1 (1/28/2010 9:01:26 PM) ~= d9 (1/28/2010 11:01:21 PM): True
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle Member dieses Typs sind threadsicher. Member, die scheinbar den Zustand einer Instanz ändern, geben in Wirklichkeit eine neue Instanz zurück, die mit dem neuen Wert initialisiert wurde. Wie bei allen anderen Typen müssen Lese- und Schreibzugriffe auf eine freigegebene Variable, die eine Instanz dieses Typs enthält, durch eine Sperre geschützt werden, um die Threadsicherheit zu gewährleisten.
Vorsicht
|
|---|
|
Die Zuweisung einer Instanz dieses Typs ist nicht auf allen Hardwareplattformen threadsicher, da die binäre Darstellung der Instanz u. U. zu groß ist, sodass die Zuweisung nicht in einem einzelnen atomaren Vorgang abgeschlossen werden kann. |
Hinweis
Vorsicht