DateTime.SpecifyKind(DateTime, DateTimeKind) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 beiden angegeben ist.
public:
static DateTime SpecifyKind(DateTime value, DateTimeKind kind);
public static DateTime SpecifyKind (DateTime value, DateTimeKind kind);
static member SpecifyKind : DateTime * DateTimeKind -> DateTime
Public Shared Function SpecifyKind (value As DateTime, kind As DateTimeKind) As DateTime
Parameter
- value
- DateTime
Ein Datum und eine Uhrzeit.
- kind
- DateTimeKind
Einer der Enumerationswerte, der angibt, ob das neue Objekt Ortszeit, UTC oder keines von beiden darstellt.
Gibt zurück
Ein neues Objekt, das über die gleiche Anzahl von Ticks verfügt wie das Objekt, das durch den value
-Parameter und den durch den DateTimeKind-Parameter angegebenen kind
-Wert dargestellt wird.
Beispiele
Im folgenden Beispiel wird die -Methode SpecifyKind verwendet, um zu veranschaulichen, wie die Kind -Eigenschaft die Konvertierungsmethoden ToLocalTime und ToUniversalTime beeinflusst.
// This code example demonstrates the DateTime Kind, Now, and
// UtcNow properties, and the SpecifyKind(), ToLocalTime(),
// and ToUniversalTime() methods.
using System;
class Sample
{
public static void Main()
{
// Get the date and time for the current moment, adjusted
// to the local time zone.
DateTime saveNow = DateTime.Now;
// Get the date and time for the current moment expressed
// as coordinated universal time (UTC).
DateTime saveUtcNow = DateTime.UtcNow;
DateTime myDt;
// Display the value and Kind property of the current moment
// expressed as UTC and local time.
DisplayNow("UtcNow: ..........", saveUtcNow);
DisplayNow("Now: .............", saveNow);
Console.WriteLine();
// Change the Kind property of the current moment to
// DateTimeKind.Utc and display the result.
myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Utc);
Display("Utc: .............", myDt);
// Change the Kind property of the current moment to
// DateTimeKind.Local and display the result.
myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Local);
Display("Local: ...........", myDt);
// Change the Kind property of the current moment to
// DateTimeKind.Unspecified and display the result.
myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Unspecified);
Display("Unspecified: .....", myDt);
}
// Display the value and Kind property of a DateTime structure, the
// DateTime structure converted to local time, and the DateTime
// structure converted to universal time.
public static string datePatt = @"M/d/yyyy hh:mm:ss tt";
public static void Display(string title, DateTime inputDt)
{
DateTime dispDt = inputDt;
string dtString;
// Display the original DateTime.
dtString = dispDt.ToString(datePatt);
Console.WriteLine("{0} {1}, Kind = {2}",
title, dtString, dispDt.Kind);
// Convert inputDt to local time and display the result.
// If inputDt.Kind is DateTimeKind.Utc, the conversion is performed.
// If inputDt.Kind is DateTimeKind.Local, the conversion is not performed.
// If inputDt.Kind is DateTimeKind.Unspecified, the conversion is
// performed as if inputDt was universal time.
dispDt = inputDt.ToLocalTime();
dtString = dispDt.ToString(datePatt);
Console.WriteLine(" ToLocalTime: {0}, Kind = {1}",
dtString, dispDt.Kind);
// Convert inputDt to universal time and display the result.
// If inputDt.Kind is DateTimeKind.Utc, the conversion is not performed.
// If inputDt.Kind is DateTimeKind.Local, the conversion is performed.
// If inputDt.Kind is DateTimeKind.Unspecified, the conversion is
// performed as if inputDt was local time.
dispDt = inputDt.ToUniversalTime();
dtString = dispDt.ToString(datePatt);
Console.WriteLine(" ToUniversalTime: {0}, Kind = {1}",
dtString, dispDt.Kind);
Console.WriteLine();
}
// Display the value and Kind property for DateTime.Now and DateTime.UtcNow.
public static void DisplayNow(string title, DateTime inputDt)
{
string dtString = inputDt.ToString(datePatt);
Console.WriteLine("{0} {1}, Kind = {2}",
title, dtString, inputDt.Kind);
}
}
/*
This code example produces the following results:
UtcNow: .......... 5/6/2005 09:34:42 PM, Kind = Utc
Now: ............. 5/6/2005 02:34:42 PM, Kind = Local
Utc: ............. 5/6/2005 02:34:42 PM, Kind = Utc
ToLocalTime: 5/6/2005 07:34:42 AM, Kind = Local
ToUniversalTime: 5/6/2005 02:34:42 PM, Kind = Utc
Local: ........... 5/6/2005 02:34:42 PM, Kind = Local
ToLocalTime: 5/6/2005 02:34:42 PM, Kind = Local
ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc
Unspecified: ..... 5/6/2005 02:34:42 PM, Kind = Unspecified
ToLocalTime: 5/6/2005 07:34:42 AM, Kind = Local
ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc
*/
' This code example demonstrates the DateTime Kind, Now, and
' UtcNow properties, and the SpecifyKind(), ToLocalTime(),
' and ToUniversalTime() methods.
Class Sample
Public Shared Sub Main()
' Get the date and time for the current moment, adjusted
' to the local time zone.
Dim saveNow As DateTime = DateTime.Now
' Get the date and time for the current moment expressed
' as coordinated universal time (UTC).
Dim saveUtcNow As DateTime = DateTime.UtcNow
Dim myDt As DateTime
' Display the value and Kind property of the current moment
' expressed as UTC and local time.
DisplayNow("UtcNow: ..........", saveUtcNow)
DisplayNow("Now: .............", saveNow)
Console.WriteLine()
' Change the Kind property of the current moment to
' DateTimeKind.Utc and display the result.
myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Utc)
Display("Utc: .............", myDt)
' Change the Kind property of the current moment to
' DateTimeKind.Local and display the result.
myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Local)
Display("Local: ...........", myDt)
' Change the Kind property of the current moment to
' DateTimeKind.Unspecified and display the result.
myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Unspecified)
Display("Unspecified: .....", myDt)
End Sub
' Display the value and Kind property of a DateTime structure, the
' DateTime structure converted to local time, and the DateTime
' structure converted to universal time.
Public Shared datePatt As String = "M/d/yyyy hh:mm:ss tt"
Public Shared Sub Display(ByVal title As String, ByVal inputDt As DateTime)
Dim dispDt As DateTime = inputDt
Dim dtString As String
' Display the original DateTime.
dtString = dispDt.ToString(datePatt)
Console.WriteLine("{0} {1}, Kind = {2}", title, dtString, dispDt.Kind)
' Convert inputDt to local time and display the result.
' If inputDt.Kind is DateTimeKind.Utc, the conversion is performed.
' If inputDt.Kind is DateTimeKind.Local, the conversion is not performed.
' If inputDt.Kind is DateTimeKind.Unspecified, the conversion is
' performed as if inputDt was universal time.
dispDt = inputDt.ToLocalTime()
dtString = dispDt.ToString(datePatt)
Console.WriteLine(" ToLocalTime: {0}, Kind = {1}", dtString, dispDt.Kind)
' Convert inputDt to universal time and display the result.
' If inputDt.Kind is DateTimeKind.Utc, the conversion is not performed.
' If inputDt.Kind is DateTimeKind.Local, the conversion is performed.
' If inputDt.Kind is DateTimeKind.Unspecified, the conversion is
' performed as if inputDt was local time.
dispDt = inputDt.ToUniversalTime()
dtString = dispDt.ToString(datePatt)
Console.WriteLine(" ToUniversalTime: {0}, Kind = {1}", dtString, dispDt.Kind)
Console.WriteLine()
End Sub
' Display the value and Kind property for DateTime.Now and DateTime.UtcNow.
Public Shared Sub DisplayNow(ByVal title As String, ByVal inputDt As DateTime)
Dim dtString As String = inputDt.ToString(datePatt)
Console.WriteLine("{0} {1}, Kind = {2}", title, dtString, inputDt.Kind)
End Sub
End Class
'
'This code example produces the following results:
'
'UtcNow: .......... 5/6/2005 09:34:42 PM, Kind = Utc
'Now: ............. 5/6/2005 02:34:42 PM, Kind = Local
'
'Utc: ............. 5/6/2005 02:34:42 PM, Kind = Utc
' ToLocalTime: 5/6/2005 07:34:42 AM, Kind = Local
' ToUniversalTime: 5/6/2005 02:34:42 PM, Kind = Utc
'
'Local: ........... 5/6/2005 02:34:42 PM, Kind = Local
' ToLocalTime: 5/6/2005 02:34:42 PM, Kind = Local
' ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc
'
'Unspecified: ..... 5/6/2005 02:34:42 PM, Kind = Unspecified
' ToLocalTime: 5/6/2005 07:34:42 AM, Kind = Local
' ToUniversalTime: 5/6/2005 09:34:42 PM, Kind = Utc
'
Hinweise
Ein -Objekt besteht aus einem Kind-Feld, das angibt, ob der Zeitwert auf ortszeit, koordinierte Weltzeit (UTC) oder keiner von beiden basiert, und einem Ticks-Feld, das einen Zeitwert enthält, der DateTime in 100-Nanosekunden-Ticks gemessen wird. Die SpecifyKind -Methode erstellt ein neues DateTime -Objekt unter Verwendung des kind
angegebenen Parameters und des ursprünglichen Zeitwerts.
Wichtig
Der zurückgegebene Wert stellt nicht den gleichen Zeitpunkt wie der -Parameter dar DateTime value
und ist keine SpecifyKind Zeitzonenkonvertierungsmethode. Stattdessen bleibt die vom -Parameter angegebene Zeit value
unverändert und legt die Kind -Eigenschaft auf kind
fest. Informationen zu Zeitzonenkonvertierungen finden Sie unter Konvertieren von Zeiten zwischen Zeitzonen.
Die SpecifyKind -Methode ist in Interoperabilitätsszenarien nützlich, in denen Sie ein -Objekt mit einem nicht angegebenen Kind-Feld erhalten, aber Sie können unabhängig feststellen, dass das Feld Ticks die Ortszeit oder DateTime UTC darstellt.