Convert.ToDateTime 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.
Wandelt einen angegebenen Wert in einen DateTime Wert um.
Überlädt
| Name | Beschreibung |
|---|---|
| ToDateTime(Single) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(String) |
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in einen entsprechenden Datums- und Uhrzeitwert. |
| ToDateTime(UInt16) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(String, IFormatProvider) |
Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in ein entsprechendes Datum und eine entsprechende Uhrzeit unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen. |
| ToDateTime(UInt64) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Object, IFormatProvider) |
Konvertiert den Wert des angegebenen Objekts in ein DateTime Objekt, wobei die angegebenen kulturspezifischen Formatierungsinformationen verwendet werden. |
| ToDateTime(SByte) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(UInt32) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Object) |
Konvertiert den Wert des angegebenen Objekts in ein DateTime Objekt. |
| ToDateTime(Double) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Int32) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Boolean) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Byte) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Char) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Int64) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Decimal) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(Int16) |
Das Aufrufen dieser Methode löst immer aus InvalidCastException. |
| ToDateTime(DateTime) |
Gibt das angegebene DateTime Objekt zurück. Es wird keine tatsächliche Konvertierung ausgeführt. |
ToDateTime(Single)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(float value);
public static DateTime ToDateTime(float value);
static member ToDateTime : single -> DateTime
Public Shared Function ToDateTime (value As Single) As DateTime
Parameter
- value
- Single
Der zu konvertierende Gleitkommawert mit einfacher Genauigkeit.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(String)
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in einen entsprechenden Datums- und Uhrzeitwert.
public:
static DateTime ToDateTime(System::String ^ value);
public static DateTime ToDateTime(string value);
static member ToDateTime : string -> DateTime
Public Shared Function ToDateTime (value As String) As DateTime
Parameter
- value
- String
Die Zeichenfolgendarstellung eines Datums und einer Uhrzeit.
Gibt zurück
Das Datum und die Uhrzeitentsprechung des Werts von value, oder das Datum und die Uhrzeitentsprechung von DateTime.MinValue if value is null.
Ausnahmen
value ist keine ordnungsgemäß formatierte Datums- und Uhrzeitzeichenfolge.
Beispiele
Im folgenden Beispiel wird die ToDateTime Methode verwendet, um verschiedene Zeichenfolgendarstellungen von Datums- und Uhrzeitangaben in Werte zu DateTime konvertieren.
using System;
public class ConversionToDateTime
{
public static void Main()
{
string dateString = null;
// Convert a null string.
ConvertToDateTime(dateString);
// Convert an empty string.
dateString = String.Empty;
ConvertToDateTime(dateString);
// Convert a non-date string.
dateString = "not a date";
ConvertToDateTime(dateString);
// Try to convert various date strings.
dateString = "05/01/1996";
ConvertToDateTime(dateString);
dateString = "Tue Apr 28, 2009";
ConvertToDateTime(dateString);
dateString = "Wed Apr 28, 2009";
ConvertToDateTime(dateString);
dateString = "06 July 2008 7:32:47 AM";
ConvertToDateTime(dateString);
dateString = "17:32:47.003";
ConvertToDateTime(dateString);
// Convert a string returned by DateTime.ToString("R").
dateString = "Sat, 10 May 2008 14:32:17 GMT";
ConvertToDateTime(dateString);
// Convert a string returned by DateTime.ToString("o").
dateString = "2009-05-01T07:54:59.9843750-04:00";
ConvertToDateTime(dateString);
}
private static void ConvertToDateTime(string value)
{
DateTime convertedDate;
try {
convertedDate = Convert.ToDateTime(value);
Console.WriteLine("'{0}' converts to {1} {2} time.",
value, convertedDate,
convertedDate.Kind.ToString());
}
catch (FormatException) {
Console.WriteLine("'{0}' is not in the proper format.", value);
}
}
}
// The example displays the following output:
// '' converts to 1/1/0001 12:00:00 AM Unspecified time.
// '' is not in the proper format.
// 'not a date' is not in the proper format.
// '05/01/1996' converts to 5/1/1996 12:00:00 AM Unspecified time.
// 'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM Unspecified time.
// 'Wed Apr 28, 2009' is not in the proper format.
// '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM Unspecified time.
// '17:32:47.003' converts to 5/30/2008 5:32:47 PM Unspecified time.
// 'Sat, 10 May 2008 14:32:17 GMT' converts to 5/10/2008 7:32:17 AM Local time.
// '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM Local time.
open System
let convertToDateTime (value: string) =
try
let convertedDate = Convert.ToDateTime value
printfn $"'{value}' converts to {convertedDate} {convertedDate.Kind} time."
with :?FormatException ->
printfn $"'{value}' is not in the proper format."
[<EntryPoint>]
let main _ =
let dateString = null
// Convert a null string.
convertToDateTime dateString
// Convert an empty string.
let dateString = String.Empty
convertToDateTime dateString
// Convert a non-date string.
let dateString = "not a date"
convertToDateTime dateString
// Try to convert various date strings.
let dateString = "05/01/1996"
convertToDateTime dateString
let dateString = "Tue Apr 28, 2009"
convertToDateTime dateString
let dateString = "Wed Apr 28, 2009"
convertToDateTime dateString
let dateString = "06 July 2008 7:32:47 AM"
convertToDateTime dateString
let dateString = "17:32:47.003"
convertToDateTime dateString
// Convert a string returned by DateTime.ToString("R").
let dateString = "Sat, 10 May 2008 14:32:17 GMT"
convertToDateTime dateString
// Convert a string returned by DateTime.ToString("o").
let dateString = "2009-05-01T07:54:59.9843750-04:00"
convertToDateTime dateString
0
// The example displays the following output:
// '' converts to 1/1/0001 12:00:00 AM Unspecified time.
// '' is not in the proper format.
// 'not a date' is not in the proper format.
// '05/01/1996' converts to 5/1/1996 12:00:00 AM Unspecified time.
// 'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM Unspecified time.
// 'Wed Apr 28, 2009' is not in the proper format.
// '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM Unspecified time.
// '17:32:47.003' converts to 5/30/2008 5:32:47 PM Unspecified time.
// 'Sat, 10 May 2008 14:32:17 GMT' converts to 5/10/2008 7:32:17 AM Local time.
// '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM Local time.
Module ConversionToDateTime
Public Sub Main()
Dim dateString As String = Nothing
' Convert a null string.
ConvertToDateTime(dateString)
' Convert an empty string.
dateString = String.Empty
ConvertToDateTime(dateString)
' Convert a non-date string.
dateString = "not a date"
ConvertToDateTime(dateString)
' Try to convert various date strings.
dateString = "05/01/1996"
ConvertToDateTime(dateString)
dateString = "Tue Apr 28, 2009"
ConvertToDateTime(dateString)
dateString = "Wed Apr 28, 2009"
ConvertToDateTime(dateString)
dateString = "06 July 2008 7:32:47 AM"
ConvertToDateTime(dateString)
dateString = "17:32:47.003"
ConvertToDateTime(dateString)
' Convert a string returned by DateTime.ToString("R").
dateString = "Sat, 10 May 2008 14:32:17 GMT"
ConvertToDateTime(dateString)
' Convert a string returned by DateTime.ToString("o")
dateString = "2009-05-01T07:54:59.9843750-04:00"
ConvertToDateTime(dateString)
End Sub
Private Sub ConvertToDateTime(value As String)
Dim convertedDate As Date
Try
convertedDate = Convert.ToDateTime(value)
Console.WriteLine("'{0}' converts to {1}.", value, convertedDate)
Catch e As FormatException
Console.WriteLine("'{0}' is not in the proper format.", value)
End Try
End Sub
End Module
' The example displays the following output:
' '' converts to 1/1/0001 12:00:00 AM.
' '' is not in the proper format.
' 'not a date' is not in the proper format.
' '05/01/1996' converts to 5/1/1996 12:00:00 AM.
' 'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM.
' 'Wed Apr 28, 2009' is not in the proper format.
' '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM.
' '17:32:47.003' converts to 5/30/2008 5:32:47 PM.
' 'Sat, 10 May 2008 14:32:17 GMT' converts to 5/10/2008 7:32:17 AM.
' '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM.
Hinweise
Ist value dies nicht nullder Fehler, ist der Rückgabewert das Ergebnis des Aufrufs der Methode zur value Verwendung der DateTime.Parse Formatierungsinformationen in einem DateTimeFormatInfo Objekt, das für die aktuelle Kultur initialisiert wird. Das value Argument muss die Darstellung eines Datums und einer Uhrzeit in einem der im DateTimeFormatInfo Thema beschriebenen Formate enthalten. Wenn value dies der Wert ist null, gibt die Methode zurück DateTime.MinValue.
Diese Methode versucht, vollständig zu analysieren value und das Auslösen eines Fehlers FormatExceptionzu vermeiden. Es schließt fehlende Monats-, Tages- und Jahresinformationen mit dem aktuellen Datum ab. Wenn value sie nur ein Datum und keine Uhrzeit enthält, wird von dieser Methode eine Uhrzeit von Mitternacht angenommen. Alle führenden, inneren oder nachfolgenden Leerzeichen werden value ignoriert.
Wenn Sie eine Ausnahme lieber nicht behandeln möchten, wenn die Konvertierung fehlschlägt, können Sie stattdessen die DateTime.TryParse Methode aufrufen. Es wird ein Boolean Wert zurückgegeben, der angibt, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.
Weitere Informationen
Gilt für:
ToDateTime(UInt16)
Wichtig
Diese API ist nicht CLS-kompatibel.
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(System::UInt16 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime(ushort value);
[<System.CLSCompliant(false)>]
static member ToDateTime : uint16 -> DateTime
Public Shared Function ToDateTime (value As UShort) As DateTime
Parameter
- value
- UInt16
Die zu konvertierende 16-Bit-Ganzzahl ohne Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
- Attribute
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(String, IFormatProvider)
Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in ein entsprechendes Datum und eine entsprechende Uhrzeit unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen.
public:
static DateTime ToDateTime(System::String ^ value, IFormatProvider ^ provider);
public static DateTime ToDateTime(string value, IFormatProvider provider);
static member ToDateTime : string * IFormatProvider -> DateTime
Public Shared Function ToDateTime (value As String, provider As IFormatProvider) As DateTime
Parameter
- value
- String
Eine Zeichenfolge, die ein Datum und eine Uhrzeit enthält, die konvertiert werden soll.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Das Datum und die Uhrzeitentsprechung des Werts von value, oder das Datum und die Uhrzeitentsprechung von DateTime.MinValue if value is null.
Ausnahmen
value ist keine ordnungsgemäß formatierte Datums- und Uhrzeitzeichenfolge.
Beispiele
Im folgenden Beispiel werden Zeichenfolgendarstellungen von Datumswerten mit der ToDateTime Methode mithilfe eines IFormatProvider Objekts konvertiert.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
Console.WriteLine("{0,-18}{1,-12}{2}\n", "Date String", "Culture", "Result");
string[] cultureNames = { "en-US", "ru-RU","ja-JP" };
string[] dateStrings = { "01/02/09", "2009/02/03", "01/2009/03",
"01/02/2009", "21/02/09", "01/22/09",
"01/02/23" };
// Iterate each culture name in the array.
foreach (string cultureName in cultureNames)
{
CultureInfo culture = new CultureInfo(cultureName);
// Parse each date using the designated culture.
foreach (string dateStr in dateStrings)
{
DateTime dateTimeValue;
try {
dateTimeValue = Convert.ToDateTime(dateStr, culture);
// Display the date and time in a fixed format.
Console.WriteLine("{0,-18}{1,-12}{2:yyyy-MMM-dd}",
dateStr, cultureName, dateTimeValue);
}
catch (FormatException e) {
Console.WriteLine("{0,-18}{1,-12}{2}",
dateStr, cultureName, e.GetType().Name);
}
}
Console.WriteLine();
}
}
}
open System
open System.Globalization
printfn $"""{"Date String",-18}{"Culture",-12}{"Result"}\n"""
let cultureNames = [ "en-US"; "ru-RU"; "ja-JP" ]
let dateStrings =
[ "01/02/09"; "2009/02/03"; "01/2009/03"
"01/02/2009"; "21/02/09"; "01/22/09"; "01/02/23" ]
// Iterate each culture name in the array.
for cultureName in cultureNames do
let culture = CultureInfo cultureName
// Parse each date using the designated culture.
for dateStr in dateStrings do
try
let dateTimeValue = Convert.ToDateTime(dateStr, culture)
// Display the date and time in a fixed format.
printfn $"""{dateStr,-18}{cultureName,-12}{dateTimeValue.ToString "yyyy-MMM-dd"}"""
with :? FormatException as e ->
printfn $"{dateStr,-18}{cultureName,-12}{e.GetType().Name}"
printfn ""
Imports System.Globalization
Module Example
Public Sub Main( )
Console.WriteLine("{0,-18}{1,-12}{2}", "Date String", "Culture", "Result")
Console.WriteLine()
Dim cultureNames() As String = { "en-US", "ru-RU","ja-JP" }
Dim dateStrings() As String = { "01/02/09", "2009/02/03", "01/2009/03", _
"01/02/2009", "21/02/09", "01/22/09", _
"01/02/23" }
' Iterate each culture name in the array.
For Each cultureName As String In cultureNames
Dim culture As CultureInfo = New CultureInfo(cultureName)
' Parse each date using the designated culture.
For Each dateStr As String In dateStrings
Dim dateTimeValue As DateTime
Try
dateTimeValue = Convert.ToDateTime(dateStr, culture)
' Display the date and time in a fixed format.
Console.WriteLine("{0,-18}{1,-12}{2:yyyy-MMM-dd}", _
dateStr, cultureName, dateTimeValue)
Catch e As FormatException
Console.WriteLine("{0,-18}{1,-12}{2}", _
dateStr, cultureName, e.GetType().Name)
End Try
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' Date String Culture Result
'
' 01/02/09 en-US 2009-Jan-02
' 2009/02/03 en-US 2009-Feb-03
' 01/2009/03 en-US 2009-Jan-03
' 01/02/2009 en-US 2009-Jan-02
' 21/02/09 en-US FormatException
' 01/22/09 en-US 2009-Jan-22
' 01/02/23 en-US 2023-Jan-02
'
' 01/02/09 ru-RU 2009-Feb-01
' 2009/02/03 ru-RU 2009-Feb-03
' 01/2009/03 ru-RU 2009-Jan-03
' 01/02/2009 ru-RU 2009-Feb-01
' 21/02/09 ru-RU 2009-Feb-21
' 01/22/09 ru-RU FormatException
' 01/02/23 ru-RU 2023-Feb-01
'
' 01/02/09 ja-JP 2001-Feb-09
' 2009/02/03 ja-JP 2009-Feb-03
' 01/2009/03 ja-JP 2009-Jan-03
' 01/02/2009 ja-JP 2009-Jan-02
' 21/02/09 ja-JP 2021-Feb-09
' 01/22/09 ja-JP FormatException
' 01/02/23 ja-JP 2001-Feb-23
Hinweise
Der Rückgabewert ist das Ergebnis des Aufrufens der DateTime.Parse(String, IFormatProvider) Methode für value.
provider ist eine IFormatProvider Instanz, die ein DateTimeFormatInfo Objekt abruft. Das DateTimeFormatInfo Objekt stellt kulturspezifische Informationen zum Format von value. Wenn provider ja null, wird die DateTimeFormatInfo für die aktuelle Kultur verwendet.
Wenn Sie eine Ausnahme lieber nicht behandeln möchten, wenn die Konvertierung fehlschlägt, können Sie stattdessen die DateTime.TryParse Methode aufrufen. Es wird ein Boolean Wert zurückgegeben, der angibt, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.
Weitere Informationen
Gilt für:
ToDateTime(UInt64)
Wichtig
Diese API ist nicht CLS-kompatibel.
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(System::UInt64 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime(ulong value);
[<System.CLSCompliant(false)>]
static member ToDateTime : uint64 -> DateTime
Public Shared Function ToDateTime (value As ULong) As DateTime
Parameter
- value
- UInt64
Die zu konvertierende 64-Bit-Ganzzahl ohne Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
- Attribute
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Object, IFormatProvider)
Konvertiert den Wert des angegebenen Objekts in ein DateTime Objekt, wobei die angegebenen kulturspezifischen Formatierungsinformationen verwendet werden.
public:
static DateTime ToDateTime(System::Object ^ value, IFormatProvider ^ provider);
public static DateTime ToDateTime(object value, IFormatProvider provider);
static member ToDateTime : obj * IFormatProvider -> DateTime
Public Shared Function ToDateTime (value As Object, provider As IFormatProvider) As DateTime
Parameter
- value
- Object
Ein Objekt, das die IConvertible Schnittstelle implementiert.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Das Datum und die Uhrzeitentsprechung des Werts von value, oder das Datum und die Uhrzeitentsprechung von DateTime.MinValue if value is null.
Ausnahmen
value ist kein gültiger Datums- und Uhrzeitwert.
value implementiert die IConvertible Schnittstelle nicht.
-oder-
Die Konvertierung wird nicht unterstützt.
Beispiele
Im folgenden Beispiel wird ein benutzerdefinierter Formatanbieter definiert, CustomProviderdessen GetFormat Methode eine Meldung an die Konsole ausgibt, die aufgerufen wurde, und gibt dann das DateTimeFormatInfo Objekt der Kultur zurück, deren Name als Parameter an den Klassenkonstruktor übergeben wurde. Jedes dieser CustomProvider Objekte wird verwendet, um die Elemente in einem Objektarray in Datums- und Uhrzeitwerte zu konvertieren. Die Ausgabe gibt an, dass das CustomProvider Objekt in der Konvertierung nur verwendet wird, wenn der Typ des value Parameters ein String.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] cultureNames = { "en-US", "hu-HU", "pt-PT" };
object[] objects = { 12, 17.2, false, new DateTime(2010, 1, 1), "today",
new System.Collections.ArrayList(), 'c',
"05/10/2009 6:13:18 PM", "September 8, 1899" };
foreach (string cultureName in cultureNames)
{
Console.WriteLine("{0} culture:", cultureName);
CustomProvider provider = new CustomProvider(cultureName);
foreach (object obj in objects)
{
try {
DateTime dateValue = Convert.ToDateTime(obj, provider);
Console.WriteLine("{0} --> {1}", obj,
dateValue.ToString(new CultureInfo(cultureName)));
}
catch (FormatException) {
Console.WriteLine("{0} --> Bad Format", obj);
}
catch (InvalidCastException) {
Console.WriteLine("{0} --> Conversion Not Supported", obj);
}
}
Console.WriteLine();
}
}
}
public class CustomProvider : IFormatProvider
{
private string cultureName;
public CustomProvider(string cultureName)
{
this.cultureName = cultureName;
}
public object GetFormat(Type formatType)
{
if (formatType == typeof(DateTimeFormatInfo))
{
Console.Write("(CustomProvider retrieved.) ");
return new CultureInfo(cultureName).GetFormat(formatType);
}
else
{
return null;
}
}
}
// The example displays the following output:
// en-US culture:
// 12 --> Conversion Not Supported
// 17.2 --> Conversion Not Supported
// False --> Conversion Not Supported
// 1/1/2010 12:00:00 AM --> 1/1/2010 12:00:00 AM
// (CustomProvider retrieved.) today --> Bad Format
// System.Collections.ArrayList --> Conversion Not Supported
// c --> Conversion Not Supported
// (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 5/10/2009 6:13:18 PM
// (CustomProvider retrieved.) September 8, 1899 --> 9/8/1899 12:00:00 AM
//
// hu-HU culture:
// 12 --> Conversion Not Supported
// 17.2 --> Conversion Not Supported
// False --> Conversion Not Supported
// 1/1/2010 12:00:00 AM --> 2010. 01. 01. 0:00:00
// (CustomProvider retrieved.) today --> Bad Format
// System.Collections.ArrayList --> Conversion Not Supported
// c --> Conversion Not Supported
// (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 2009. 05. 10. 18:13:18
// (CustomProvider retrieved.) September 8, 1899 --> 1899. 09. 08. 0:00:00
//
// pt-PT culture:
// 12 --> Conversion Not Supported
// 17.2 --> Conversion Not Supported
// False --> Conversion Not Supported
// 1/1/2010 12:00:00 AM --> 01-01-2010 0:00:00
// (CustomProvider retrieved.) today --> Bad Format
// System.Collections.ArrayList --> Conversion Not Supported
// c --> Conversion Not Supported
// (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 05-10-2009 18:13:18
// (CustomProvider retrieved.) September 8, 1899 --> 08-09-1899 0:00:00
open System
open System.Globalization
type CustomProvider(cultureName: string) =
interface IFormatProvider with
member _.GetFormat(formatType) =
if formatType = typeof<DateTimeFormatInfo> then
printf "(CustomProvider retrieved.) "
CultureInfo(cultureName).GetFormat formatType
else
null
let cultureNames = [ "en-US"; "hu-HU"; "pt-PT" ]
let objects: obj list =
[ 12; 17.2; false; DateTime(2010, 1, 1); "today"
System.Collections.ArrayList(); 'c'
"05/10/2009 6:13:18 PM"; "September 8, 1899" ]
for cultureName in cultureNames do
printfn $"{cultureName} culture:"
let provider = CustomProvider cultureName
for obj in objects do
try
let dateValue = Convert.ToDateTime(obj, provider)
printfn $"{obj} --> {dateValue.ToString(CultureInfo cultureName)}"
with
| :? FormatException ->
printfn $"{obj} --> Bad Format"
| :? InvalidCastException ->
printfn $"{obj} --> Conversion Not Supported"
printfn ""
// The example displays the following output:
// en-US culture:
// 12 --> Conversion Not Supported
// 17.2 --> Conversion Not Supported
// False --> Conversion Not Supported
// 1/1/2010 12:00:00 AM --> 1/1/2010 12:00:00 AM
// (CustomProvider retrieved.) today --> Bad Format
// System.Collections.ArrayList --> Conversion Not Supported
// c --> Conversion Not Supported
// (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 5/10/2009 6:13:18 PM
// (CustomProvider retrieved.) September 8, 1899 --> 9/8/1899 12:00:00 AM
//
// hu-HU culture:
// 12 --> Conversion Not Supported
// 17.2 --> Conversion Not Supported
// False --> Conversion Not Supported
// 1/1/2010 12:00:00 AM --> 2010. 01. 01. 0:00:00
// (CustomProvider retrieved.) today --> Bad Format
// System.Collections.ArrayList --> Conversion Not Supported
// c --> Conversion Not Supported
// (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 2009. 05. 10. 18:13:18
// (CustomProvider retrieved.) September 8, 1899 --> 1899. 09. 08. 0:00:00
//
// pt-PT culture:
// 12 --> Conversion Not Supported
// 17.2 --> Conversion Not Supported
// False --> Conversion Not Supported
// 1/1/2010 12:00:00 AM --> 01-01-2010 0:00:00
// (CustomProvider retrieved.) today --> Bad Format
// System.Collections.ArrayList --> Conversion Not Supported
// c --> Conversion Not Supported
// (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 05-10-2009 18:13:18
// (CustomProvider retrieved.) September 8, 1899 --> 08-09-1899 0:00:00
Imports System.Globalization
Module Example
Public Sub Main()
Dim cultureNames() As String = { "en-US", "hu-HU", "pt-PT" }
Dim objects() As Object = { 12, 17.2, False, #1/1/2010#, "today", _
New System.Collections.ArrayList(), "c"c, _
"05/10/2009 6:13:18 PM", "September 8, 1899" }
For Each cultureName As String In cultureNames
Console.WriteLine("{0} culture:", cultureName)
Dim provider As New CustomProvider(cultureName)
For Each obj As Object In objects
Try
Dim dateValue As Date = Convert.ToDateTime(obj, provider)
Console.WriteLine("{0} --> {1}", obj, _
dateValue.ToString(New CultureInfo(cultureName)))
Catch e As FormatException
Console.WriteLine("{0} --> Bad Format", obj)
Catch e As InvalidCastException
Console.WriteLine("{0} --> Conversion Not Supported", obj)
End Try
Next
Console.WriteLine()
Next
End Sub
End Module
Public Class CustomProvider : Implements IFormatProvider
Private cultureName As String
Public Sub New(cultureName As String)
Me.cultureName = cultureName
End Sub
Public Function GetFormat(formatType As Type) As Object _
Implements IFormatProvider.GetFormat
If formatType Is GetType(DateTimeFormatInfo) Then
Console.Write("(CustomProvider retrieved.) ")
Return New CultureInfo(cultureName).GetFormat(formatType)
Else
Return Nothing
End If
End Function
End Class
' The example displays the following output:
' en-US culture:
' 12 --> Conversion Not Supported
' 17.2 --> Conversion Not Supported
' False --> Conversion Not Supported
' 1/1/2010 12:00:00 AM --> 1/1/2010 12:00:00 AM
' (CustomProvider retrieved.) today --> Bad Format
' System.Collections.ArrayList --> Conversion Not Supported
' c --> Conversion Not Supported
' (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 5/10/2009 6:13:18 PM
' (CustomProvider retrieved.) September 8, 1899 --> 9/8/1899 12:00:00 AM
'
' hu-HU culture:
' 12 --> Conversion Not Supported
' 17.2 --> Conversion Not Supported
' False --> Conversion Not Supported
' 1/1/2010 12:00:00 AM --> 2010. 01. 01. 0:00:00
' (CustomProvider retrieved.) today --> Bad Format
' System.Collections.ArrayList --> Conversion Not Supported
' c --> Conversion Not Supported
' (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 2009. 05. 10. 18:13:18
' (CustomProvider retrieved.) September 8, 1899 --> 1899. 09. 08. 0:00:00
'
' pt-PT culture:
' 12 --> Conversion Not Supported
' 17.2 --> Conversion Not Supported
' False --> Conversion Not Supported
' 1/1/2010 12:00:00 AM --> 01-01-2010 0:00:00
' (CustomProvider retrieved.) today --> Bad Format
' System.Collections.ArrayList --> Conversion Not Supported
' c --> Conversion Not Supported
' (CustomProvider retrieved.) 05/10/2009 6:13:18 PM --> 05-10-2009 18:13:18
' (CustomProvider retrieved.) September 8, 1899 --> 08-09-1899 0:00:00
Hinweise
Der Rückgabewert ist das Ergebnis des Aufrufens der IConvertible.ToDateTime Methode des zugrunde liegenden Typs von value.
provider ermöglicht es dem Benutzer, kulturspezifische Konvertierungsinformationen über den Inhalt anzugeben value. Wenn es sich beispielsweise value um ein String Datum handelt, das ein Datum darstellt, können kulturspezifische Informationen zu der Notation bereitgestellt werden, provider die zum Darstellen dieses Datums verwendet wird.
provider ist an der Konvertierung value beteiligt, wenn der Laufzeittyp value ein String, oder wenn value es sich um einen benutzerdefinierten Typ handelt, dessen IConvertible.ToDateTime Implementierung verwendet providerwird. Wenn der Laufzeittyp value lautet String und provider ist null, wird das CultureInfo Objekt, das die aktuelle Kultur darstellt, verwendet.
Weitere Informationen
Gilt für:
ToDateTime(SByte)
Wichtig
Diese API ist nicht CLS-kompatibel.
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(System::SByte value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime(sbyte value);
[<System.CLSCompliant(false)>]
static member ToDateTime : sbyte -> DateTime
Public Shared Function ToDateTime (value As SByte) As DateTime
Parameter
- value
- SByte
Die zu konvertierende 8-Bit-Ganzzahl mit Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
- Attribute
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(UInt32)
Wichtig
Diese API ist nicht CLS-kompatibel.
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(System::UInt32 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime(uint value);
[<System.CLSCompliant(false)>]
static member ToDateTime : uint32 -> DateTime
Public Shared Function ToDateTime (value As UInteger) As DateTime
Parameter
- value
- UInt32
Die zu konvertierende 32-Bit-Ganzzahl ohne Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
- Attribute
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Object)
Konvertiert den Wert des angegebenen Objekts in ein DateTime Objekt.
public:
static DateTime ToDateTime(System::Object ^ value);
public static DateTime ToDateTime(object value);
static member ToDateTime : obj -> DateTime
Public Shared Function ToDateTime (value As Object) As DateTime
Parameter
- value
- Object
Ein Objekt, das die IConvertible Schnittstelle implementiert, oder null.
Gibt zurück
Das Datum und die Uhrzeitentsprechung des Werts von value, oder ein Datums- und Uhrzeitäquivalent von DateTime.MinValue if value is null.
Ausnahmen
value ist kein gültiger Datums- und Uhrzeitwert.
value implementiert die IConvertible Schnittstelle nicht.
-oder-
Die Konvertierung wird nicht unterstützt.
Beispiele
Im folgenden Beispiel wird die ToDateTime(Object) Methode mit einer Vielzahl von Object Variablen aufgerufen.
using System;
public class ConversionToDateTime
{
public static void Main()
{
// Try converting an integer.
int number = 16352;
ConvertToDateTime(number);
// Convert a null.
object obj = null;
ConvertToDateTime(obj);
// Convert a non-date string.
string nonDateString = "monthly";
ConvertToDateTime(nonDateString);
// Try to convert various date strings.
string dateString;
dateString = "05/01/1996";
ConvertToDateTime(dateString);
dateString = "Tue Apr 28, 2009";
ConvertToDateTime(dateString);
dateString = "06 July 2008 7:32:47 AM";
ConvertToDateTime(dateString);
dateString = "17:32:47.003";
ConvertToDateTime(dateString);
}
private static void ConvertToDateTime(object value)
{
DateTime convertedDate;
try {
convertedDate = Convert.ToDateTime(value);
Console.WriteLine("'{0}' converts to {1}.", value, convertedDate);
}
catch (FormatException) {
Console.WriteLine("'{0}' is not in the proper format.", value);
}
catch (InvalidCastException) {
Console.WriteLine("Conversion of the {0} '{1}' is not supported",
value.GetType().Name, value);
}
}
}
// The example displays the following output:
// Conversion of the Int32 '16352' is not supported
// '' converts to 1/1/0001 12:00:00 AM.
// 'monthly' is not in the proper format.
// '05/01/1996' converts to 5/1/1996 12:00:00 AM.
// 'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM.
// '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM.
// '17:32:47.003' converts to 5/28/2008 5:32:47 PM.
open System
let convertToDateTime (value: obj) =
try
let convertedDate = Convert.ToDateTime value
printfn $"'{value}' converts to {convertedDate}."
with
| :? FormatException ->
printfn $"'{value}' is not in the proper format."
| :? InvalidCastException ->
printfn $"Conversion of the {value.GetType().Name} '{value}' is not supported"
[<EntryPoint>]
let main _ =
// Try converting an integer.
let number = 16352
convertToDateTime number
// Convert a null.
let obj = box null
convertToDateTime obj
// Convert a non-date string.
let nonDateString = "monthly"
convertToDateTime nonDateString
// Try to convert various date strings.
let dateString = "05/01/1996"
convertToDateTime dateString
let dateString = "Tue Apr 28, 2009"
convertToDateTime dateString
let dateString = "06 July 2008 7:32:47 AM"
convertToDateTime dateString
let dateString = "17:32:47.003"
convertToDateTime dateString
0
// The example displays the following output:
// Conversion of the Int32 '16352' is not supported
// '' converts to 1/1/0001 12:00:00 AM.
// 'monthly' is not in the proper format.
// '05/01/1996' converts to 5/1/1996 12:00:00 AM.
// 'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM.
// '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM.
// '17:32:47.003' converts to 5/28/2008 5:32:47 PM.
Module ConversionToDateTime
Public Sub Main()
' Try converting an integer.
Dim number As Integer = 16352
ConvertToDateTime(number)
' Convert a null.
Dim obj As Object = Nothing
ConvertToDateTime(obj)
' Convert a non-date string.
Dim nonDateString As String = "monthly"
ConvertToDateTime(nonDateString)
' Try to convert various dates.
Dim dateString As String
dateString = "05/01/1996"
ConvertToDateTime(dateString)
dateString = "Tue Apr 28, 2009"
ConvertToDateTime(dateString)
dateString = "06 July 2008 7:32:47 AM"
ConvertToDateTime(dateString)
dateString = "17:32:47.003"
ConvertToDateTime(dateString)
End Sub
Private Sub ConvertToDateTime(value As Object)
Dim convertedDate As Date
Try
convertedDate = Convert.ToDateTime(value)
Console.WriteLine("'{0}' converts to {1}.", value, convertedDate)
Catch e As FormatException
Console.WriteLine("'{0}' is not in the proper format.", value)
Catch e As InvalidCastException
Console.WriteLine("Conversion of the {0} '{1}' is not supported", _
value.GetType().Name, value)
End Try
End Sub
End Module
' The example displays the following output:
' Conversion of the Int32 '16352' is not supported
' '' converts to 1/1/0001 12:00:00 AM.
' 'monthly' is not in the proper format.
' '05/01/1996' converts to 5/1/1996 12:00:00 AM.
' 'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM.
' '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM.
' '17:32:47.003' converts to 5/28/2008 5:32:47 PM.
Hinweise
Damit die Konvertierung erfolgreich ausgeführt werden kann, muss der Laufzeittyp des value Parameters entweder ein DateTime oder ein oder value ein Stringseinnull. Andernfalls löst die Methode eine InvalidCastException.
value Wenn es sich um eine Zeichenfolge handelt, muss sie außerdem eine gültige Darstellung eines Datums- und Uhrzeitwerts in der aktuellen Kultur oder einen FormatException Wurf enthalten.
Der Rückgabewert ist das Ergebnis des Aufrufens der IConvertible.ToDateTime Methode des zugrunde liegenden Typs von value.
Gilt für:
ToDateTime(Double)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(double value);
public static DateTime ToDateTime(double value);
static member ToDateTime : double -> DateTime
Public Shared Function ToDateTime (value As Double) As DateTime
Parameter
- value
- Double
Der zu konvertierende Gleitkommawert mit doppelter Genauigkeit.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Int32)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(int value);
public static DateTime ToDateTime(int value);
static member ToDateTime : int -> DateTime
Public Shared Function ToDateTime (value As Integer) As DateTime
Parameter
- value
- Int32
Die zu konvertierende 32-Bit-Ganzzahl mit Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Boolean)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(bool value);
public static DateTime ToDateTime(bool value);
static member ToDateTime : bool -> DateTime
Public Shared Function ToDateTime (value As Boolean) As DateTime
Parameter
- value
- Boolean
Der boolesche Wert, der konvertiert werden soll.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Byte)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(System::Byte value);
public static DateTime ToDateTime(byte value);
static member ToDateTime : byte -> DateTime
Public Shared Function ToDateTime (value As Byte) As DateTime
Parameter
- value
- Byte
Die zu konvertierende 8-Bit-Ganzzahl ohne Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Char)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(char value);
public static DateTime ToDateTime(char value);
static member ToDateTime : char -> DateTime
Public Shared Function ToDateTime (value As Char) As DateTime
Parameter
- value
- Char
Das zu konvertierende Unicode-Zeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Int64)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(long value);
public static DateTime ToDateTime(long value);
static member ToDateTime : int64 -> DateTime
Public Shared Function ToDateTime (value As Long) As DateTime
Parameter
- value
- Int64
Die zu konvertierende 64-Bit-Ganzzahl mit Vorzeichen.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(Decimal)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(System::Decimal value);
public static DateTime ToDateTime(decimal value);
static member ToDateTime : decimal -> DateTime
Public Shared Function ToDateTime (value As Decimal) As DateTime
Parameter
- value
- Decimal
Die zahl, die konvertiert werden soll.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Gilt für:
ToDateTime(Int16)
Das Aufrufen dieser Methode löst immer aus InvalidCastException.
public:
static DateTime ToDateTime(short value);
public static DateTime ToDateTime(short value);
static member ToDateTime : int16 -> DateTime
Public Shared Function ToDateTime (value As Short) As DateTime
Parameter
- value
- Int16
Die zu konvertierende 16-Bit-Ganzzahl.
Gibt zurück
Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.
Ausnahmen
Diese Konvertierung wird nicht unterstützt.
Weitere Informationen
Gilt für:
ToDateTime(DateTime)
Gibt das angegebene DateTime Objekt zurück. Es wird keine tatsächliche Konvertierung ausgeführt.
public:
static DateTime ToDateTime(DateTime value);
public static DateTime ToDateTime(DateTime value);
static member ToDateTime : DateTime -> DateTime
Public Shared Function ToDateTime (value As DateTime) As DateTime
Parameter
- value
- DateTime
Ein Datums- und Uhrzeitwert.
Gibt zurück
value wird unverändert zurückgegeben.