Convert.ToDateTime Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar ett angivet värde till ett DateTime värde.
Överlagringar
| Name | Description |
|---|---|
| ToDateTime(Single) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(String) |
Konverterar den angivna strängrepresentationen av ett datum och en tid till ett motsvarande datum- och tidsvärde. |
| ToDateTime(UInt16) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(String, IFormatProvider) |
Konverterar den angivna strängrepresentationen av ett tal till motsvarande datum och tid med den angivna kulturspecifika formateringsinformationen. |
| ToDateTime(UInt64) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Object, IFormatProvider) |
Konverterar värdet för det angivna objektet till ett DateTime objekt med den angivna kulturspecifika formateringsinformationen. |
| ToDateTime(SByte) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(UInt32) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Object) |
Konverterar värdet för det angivna objektet till ett DateTime objekt. |
| ToDateTime(Double) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Int32) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Int16) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Int64) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Decimal) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(DateTime) |
Returnerar det angivna DateTime objektet. Ingen faktisk konvertering utförs. |
| ToDateTime(Char) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Byte) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
| ToDateTime(Boolean) |
Att anropa den här metoden genererar InvalidCastExceptionalltid . |
ToDateTime(Single)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Single
Flyttalsvärdet med enkel precision som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(String)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Konverterar den angivna strängrepresentationen av ett datum och en tid till ett motsvarande datum- och tidsvärde.
public:
static DateTime ToDateTime(System::String ^ value);
public static DateTime ToDateTime(string value);
public static DateTime ToDateTime(string? value);
static member ToDateTime : string -> DateTime
Public Shared Function ToDateTime (value As String) As DateTime
Parametrar
- value
- String
Strängrepresentationen av ett datum och en tid.
Returer
Datum och tid som motsvarar värdet valueför , eller datum och tid som motsvarar DateTime.MinValue om value är null.
Undantag
value är inte en korrekt formaterad datum- och tidssträng.
Exempel
I följande exempel används ToDateTime metoden för att konvertera olika strängrepresentationer av datum och tider till DateTime värden.
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.
Kommentarer
Om value inte nullär är returvärdet resultatet av att DateTime.Parse anropa metoden på value med formateringsinformationen i ett DateTimeFormatInfo objekt som initieras för den aktuella kulturen. Argumentet value måste innehålla en representation av ett datum och en tid i något av de format som beskrivs i ämnet DateTimeFormatInfo . Om value är nullreturnerar DateTime.MinValuemetoden .
Den här metoden försöker parsa value helt och undvika att kasta en FormatException. Den slutför information om saknade månader, dagar och år med aktuellt datum. Om value endast innehåller ett datum och ingen tid förutsätter den här metoden en tid på midnatt. Alla inledande, inre eller avslutande blankstegstecken i value ignoreras.
Om du föredrar att inte hantera ett undantag om konverteringen misslyckas kan du anropa DateTime.TryParse metoden i stället. Det returnerar ett Boolean värde som anger om konverteringen lyckades eller misslyckades.
Se även
Gäller för
ToDateTime(UInt16)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Viktigt!
Detta API uppfyller inte CLS.
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- UInt16
Det 16-bitars osignerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
- Attribut
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(String, IFormatProvider)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Konverterar den angivna strängrepresentationen av ett tal till motsvarande datum och tid med den angivna kulturspecifika formateringsinformationen.
public:
static DateTime ToDateTime(System::String ^ value, IFormatProvider ^ provider);
public static DateTime ToDateTime(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
Parametrar
- value
- String
En sträng som innehåller ett datum och en tid som ska konverteras.
- provider
- IFormatProvider
Ett objekt som tillhandahåller kulturspecifik formateringsinformation.
Returer
Datum och tid som motsvarar värdet valueför , eller datum och tid som motsvarar DateTime.MinValue om value är null.
Undantag
value är inte en korrekt formaterad datum- och tidssträng.
Exempel
I följande exempel konverteras strängrepresentationer av datumvärden med ToDateTime metoden med hjälp av ett IFormatProvider objekt.
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
Kommentarer
Returvärdet är resultatet av att anropa metoden på DateTime.Parse(String, IFormatProvider)value.
provider är en IFormatProvider instans som hämtar ett DateTimeFormatInfo objekt. Objektet DateTimeFormatInfo innehåller kulturspecifik information om formatet valueför . Om provider är nullDateTimeFormatInfo används för den aktuella kulturen.
Om du föredrar att inte hantera ett undantag om konverteringen misslyckas kan du anropa DateTime.TryParse metoden i stället. Det returnerar ett Boolean värde som anger om konverteringen lyckades eller misslyckades.
Se även
Gäller för
ToDateTime(UInt64)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Viktigt!
Detta API uppfyller inte CLS.
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- UInt64
Det 64-bitars osignerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
- Attribut
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Object, IFormatProvider)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Konverterar värdet för det angivna objektet till ett DateTime objekt med den angivna kulturspecifika formateringsinformationen.
public:
static DateTime ToDateTime(System::Object ^ value, IFormatProvider ^ provider);
public static DateTime ToDateTime(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
Parametrar
- value
- Object
Ett objekt som implementerar IConvertible gränssnittet.
- provider
- IFormatProvider
Ett objekt som tillhandahåller kulturspecifik formateringsinformation.
Returer
Datum och tid som motsvarar värdet valueför , eller datum och tid som motsvarar DateTime.MinValue om value är null.
Undantag
value är inte ett giltigt datum- och tidsvärde.
Exempel
I följande exempel definieras en provider för anpassat format, CustomProvider, vars GetFormat metod matar ut ett meddelande till konsolen som den har anropats för och returnerar DateTimeFormatInfo sedan objektet för den kultur vars namn skickades som en parameter till dess klasskonstruktor. Vart och ett av dessa CustomProvider objekt används för att konvertera elementen i en objektmatris till datum- och tidsvärden. Utdata anger att CustomProvider objektet endast används i konverteringen när parametertypen value är en 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
Kommentarer
Returvärdet är resultatet av att IConvertible.ToDateTime anropa metoden för den underliggande typen av value.
provider gör det möjligt för användaren att ange kulturspecifik konverteringsinformation om innehållet i value. Om till exempel value är en String som representerar ett datum kan provider du ange kulturspecifik information om notationen som används för att representera det datumet.
provider är involverad i konverteringen av value om körningstypen value är en String, eller om value är en användardefinierad typ vars IConvertible.ToDateTime implementering använder provider. Om körningstypen value är String och provider är nullanvänds objektet CultureInfo som representerar den aktuella kulturen.
Se även
Gäller för
ToDateTime(SByte)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Viktigt!
Detta API uppfyller inte CLS.
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- SByte
Det 8-bitars signerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
- Attribut
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(UInt32)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Viktigt!
Detta API uppfyller inte CLS.
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- UInt32
Det 32-bitars osignerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
- Attribut
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Object)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Konverterar värdet för det angivna objektet till ett DateTime objekt.
public:
static DateTime ToDateTime(System::Object ^ value);
public static DateTime ToDateTime(object value);
public static DateTime ToDateTime(object? value);
static member ToDateTime : obj -> DateTime
Public Shared Function ToDateTime (value As Object) As DateTime
Parametrar
- value
- Object
Ett objekt som implementerar IConvertible gränssnittet, eller null.
Returer
Datum och tid som motsvarar värdet valueför , eller en datum- och tidsekvivalent för DateTime.MinValue om value är null.
Undantag
value är inte ett giltigt datum- och tidsvärde.
Exempel
I följande exempel anropas ToDateTime(Object) metoden med en mängd Object olika variabler.
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.
Kommentarer
För att konverteringen ska lyckas måste körningstypen för parametern value vara antingen en DateTime eller en String, eller value vara null. Annars genererar metoden en InvalidCastException. Om är en sträng måste den dessutom value innehålla en giltig representation av ett datum- och tidsvärde i den aktuella kulturen eller så genereras en FormatException .
Returvärdet är resultatet av att IConvertible.ToDateTime anropa metoden för den underliggande typen av value.
Gäller för
ToDateTime(Double)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Double
Flyttalsvärdet med dubbel precision som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Int32)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Int32
Det 32-bitars signerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Int16)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Int16
Det 16-bitars signerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Int64)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Int64
Det 64-bitars signerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Decimal)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Decimal
Talet som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Gäller för
ToDateTime(DateTime)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Returnerar det angivna DateTime objektet. Ingen faktisk konvertering utförs.
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
Parametrar
- value
- DateTime
Ett datum- och tidsvärde.
Returer
value returneras oförändrad.
Gäller för
ToDateTime(Char)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Char
Unicode-tecknet som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Byte)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Byte
Det 8-bitars osignerade heltal som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.
Se även
Gäller för
ToDateTime(Boolean)
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
- Källa:
- Convert.cs
Att anropa den här metoden genererar InvalidCastExceptionalltid .
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
Parametrar
- value
- Boolean
Det booleska värde som ska konverteras.
Returer
Den här konverteringen stöds inte. Inget värde returneras.
Undantag
Den här konverteringen stöds inte.