Convert.ToDateTime Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Converte un valore specificato in un DateTime valore.
Overload
| Nome | Descrizione |
|---|---|
| ToDateTime(Single) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(String) |
Converte la rappresentazione di stringa specificata di una data e un'ora in un valore di data e ora equivalente. |
| ToDateTime(UInt16) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(String, IFormatProvider) |
Converte la rappresentazione di stringa specificata di un numero in una data e un'ora equivalenti, utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate. |
| ToDateTime(UInt64) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Object, IFormatProvider) |
Converte il valore dell'oggetto specificato in un DateTime oggetto utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate. |
| ToDateTime(SByte) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(UInt32) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Object) |
Converte il valore dell'oggetto specificato in un DateTime oggetto . |
| ToDateTime(Double) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Int32) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Boolean) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Byte) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Char) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Int64) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Decimal) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(Int16) |
La chiamata a questo metodo genera InvalidCastExceptionsempre . |
| ToDateTime(DateTime) |
Restituisce l'oggetto specificato DateTime . Non viene eseguita alcuna conversione effettiva. |
ToDateTime(Single)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Single
Valore a virgola mobile e precisione singola da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(String)
Converte la rappresentazione di stringa specificata di una data e un'ora in un valore di data e ora equivalente.
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
Parametri
- value
- String
Rappresentazione di stringa di una data e di un'ora.
Valori restituiti
L'equivalente di data e ora del valore di valueo l'equivalente di data e ora di DateTime.MinValue se value è null.
Eccezioni
value non è una stringa di data e ora formattata correttamente.
Esempio
Nell'esempio seguente viene utilizzato il ToDateTime metodo per convertire varie rappresentazioni di stringa di date e ore in DateTime valori.
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.
Commenti
Se value non nullè , il valore restituito è il risultato della chiamata del DateTime.Parse metodo sull'utilizzo value delle informazioni di formattazione in un DateTimeFormatInfo oggetto inizializzato per le impostazioni cultura correnti. L'argomento value deve contenere la rappresentazione di una data e di un'ora in uno dei formati descritti nell'argomento DateTimeFormatInfo . Se value è null, il metodo restituisce DateTime.MinValue.
Questo metodo tenta di analizzare completamente value ed evitare di generare un'eccezione FormatException. Completa le informazioni sul mese, il giorno e l'anno mancanti con la data corrente. Se value contiene solo una data e nessuna ora, questo metodo presuppone un'ora di mezzanotte. Tutti gli spazi vuoti iniziali, interni o finali in value vengono ignorati.
Se si preferisce non gestire un'eccezione se la conversione non riesce, è possibile chiamare invece il DateTime.TryParse metodo . Restituisce un Boolean valore che indica se la conversione ha avuto esito positivo o negativo.
Vedi anche
Si applica a
ToDateTime(UInt16)
Importante
Questa API non è conforme a CLS.
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- UInt16
Intero senza segno a 16 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
- Attributi
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(String, IFormatProvider)
Converte la rappresentazione di stringa specificata di un numero in una data e un'ora equivalenti, utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate.
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
Parametri
- value
- String
Stringa contenente una data e un'ora da convertire.
- provider
- IFormatProvider
Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.
Valori restituiti
L'equivalente di data e ora del valore di valueo l'equivalente di data e ora di DateTime.MinValue se value è null.
Eccezioni
value non è una stringa di data e ora formattata correttamente.
Esempio
L'esempio seguente converte le rappresentazioni di stringa dei valori di data con il ToDateTime metodo utilizzando un IFormatProvider oggetto .
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
Commenti
Il valore restituito è il risultato della chiamata del DateTime.Parse(String, IFormatProvider) metodo su value.
provider è un'istanza IFormatProvider che ottiene un DateTimeFormatInfo oggetto . L'oggetto DateTimeFormatInfo fornisce informazioni specifiche delle impostazioni cultura sul formato di value. Se provider è null, viene utilizzato per DateTimeFormatInfo le impostazioni cultura correnti.
Se si preferisce non gestire un'eccezione se la conversione non riesce, è possibile chiamare invece il DateTime.TryParse metodo . Restituisce un Boolean valore che indica se la conversione ha avuto esito positivo o negativo.
Vedi anche
Si applica a
ToDateTime(UInt64)
Importante
Questa API non è conforme a CLS.
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- UInt64
Intero senza segno a 64 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
- Attributi
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Object, IFormatProvider)
Converte il valore dell'oggetto specificato in un DateTime oggetto utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate.
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
Parametri
- value
- Object
Oggetto che implementa l'interfaccia IConvertible .
- provider
- IFormatProvider
Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.
Valori restituiti
L'equivalente di data e ora del valore di valueo l'equivalente di data e ora di DateTime.MinValue se value è null.
Eccezioni
value non è un valore di data e ora valido.
Esempio
Nell'esempio seguente viene definito un provider di formato personalizzato, CustomProvider, il cui GetFormat metodo restituisce un messaggio alla console che è stato richiamato e quindi restituisce l'oggetto DateTimeFormatInfo delle impostazioni cultura il cui nome è stato passato come parametro al relativo costruttore di classe. Ognuno di questi CustomProvider oggetti viene usato per convertire gli elementi in una matrice di oggetti in valori di data e ora. L'output indica che l'oggetto CustomProvider viene utilizzato nella conversione solo quando il value tipo del parametro è .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
Commenti
Il valore restituito è il risultato della chiamata al IConvertible.ToDateTime metodo del tipo sottostante di value.
provider consente all'utente di specificare informazioni di conversione specifiche delle impostazioni cultura relative al contenuto di value. Ad esempio, se value è un oggetto String che rappresenta una data, provider potrebbe fornire informazioni specifiche delle impostazioni cultura sulla notazione utilizzata per rappresentare tale data.
provider è coinvolto nella conversione di value se il tipo di runtime di value è o Stringse value è un tipo definito dall'utente la cui IConvertible.ToDateTime implementazione usa provider. Se il tipo di runtime di value è e provider è Stringnull, viene utilizzato l'oggetto CultureInfo che rappresenta le impostazioni cultura correnti.
Vedi anche
Si applica a
ToDateTime(SByte)
Importante
Questa API non è conforme a CLS.
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- SByte
Intero con segno a 8 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
- Attributi
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(UInt32)
Importante
Questa API non è conforme a CLS.
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- UInt32
Intero senza segno a 32 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
- Attributi
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Object)
Converte il valore dell'oggetto specificato in un DateTime oggetto .
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
Parametri
- value
- Object
Oggetto che implementa l'interfaccia IConvertible o null.
Valori restituiti
L'equivalente di data e ora del valore di valueo un equivalente di data e ora di DateTime.MinValue se value è null.
Eccezioni
value non è un valore di data e ora valido.
Esempio
Nell'esempio seguente viene chiamato il ToDateTime(Object) metodo con un'ampia gamma di Object variabili.
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.
Commenti
Affinché la conversione abbia esito positivo, il tipo di runtime del value parametro deve essere o DateTimeString, oppure value deve essere null. In caso contrario, il metodo genera un'eccezione InvalidCastException. Inoltre, se value è una stringa, deve contenere una rappresentazione valida di un valore di data e ora nelle impostazioni cultura correnti o viene generata un'eccezione FormatException .
Il valore restituito è il risultato della chiamata al IConvertible.ToDateTime metodo del tipo sottostante di value.
Si applica a
ToDateTime(Double)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Double
Valore a virgola mobile e precisione doppia da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Int32)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Int32
Intero con segno a 32 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Boolean)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Boolean
Valore booleano da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Byte)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Byte
Intero senza segno a 8 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Char)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Char
Carattere Unicode da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Int64)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Int64
Intero con segno a 64 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(Decimal)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Decimal
Numero da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Si applica a
ToDateTime(Int16)
La chiamata a questo metodo genera InvalidCastExceptionsempre .
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
Parametri
- value
- Int16
Intero con segno a 16 bit da convertire.
Valori restituiti
Questa conversione non è supportata. Non viene restituito alcun valore.
Eccezioni
Questa conversione non è supportata.
Vedi anche
Si applica a
ToDateTime(DateTime)
Restituisce l'oggetto specificato DateTime . Non viene eseguita alcuna conversione effettiva.
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
Parametri
- value
- DateTime
Valore di data e ora.
Valori restituiti
value viene restituito invariato.