Convert.ToDateTime Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje określoną wartość na DateTime wartość.
Przeciążenia
ToDateTime(Single) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(String) |
Konwertuje określoną reprezentację ciągu daty i godziny na równoważną wartość daty i godziny. |
ToDateTime(UInt16) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(String, IFormatProvider) |
Konwertuje określoną reprezentację ciągu liczby na równoważną datę i godzinę przy użyciu określonych informacji formatowania specyficznych dla kultury. |
ToDateTime(UInt64) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Object, IFormatProvider) |
Konwertuje wartość określonego obiektu na DateTime obiekt przy użyciu określonych informacji o formatowaniu specyficznym dla kultury. |
ToDateTime(SByte) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(UInt32) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Object) |
Konwertuje wartość określonego obiektu na DateTime obiekt. |
ToDateTime(Int16) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Int32) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Int64) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Double) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Decimal) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(DateTime) |
Zwraca określony DateTime obiekt; nie jest wykonywana żadna rzeczywista konwersja. |
ToDateTime(Char) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Byte) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Boolean) |
Wywołanie tej metody zawsze zgłasza błąd InvalidCastException. |
ToDateTime(Single)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza błąd 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
Parametry
- value
- Single
Wartość zmiennoprzecinkowa o pojedynczej precyzji, która ma być konwertowana.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(String)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Konwertuje określoną reprezentację ciągu daty i godziny na równoważną wartość daty i godziny.
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
Parametry
- value
- String
Reprezentacja ciągu daty i godziny.
Zwraca
Data i godzina równoważna wartości value
, lub data i godzina równoważna wartości DateTime.MinValue , jeśli value
jest to null
.
Wyjątki
value
nie jest poprawnie sformatowanym ciągiem daty i godziny.
Przykłady
W poniższym przykładzie ToDateTime użyto metody , aby przekonwertować różne reprezentacje ciągów dat i godzin na DateTime wartości.
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.
Uwagi
Jeśli value
tak nie null
jest , zwracana wartość jest wynikiem wywołania DateTime.Parse metody value
przy użyciu informacji o formatowaniu w DateTimeFormatInfo obiekcie zainicjowanym dla bieżącej kultury. Argument value
musi zawierać reprezentację daty i godziny w jednym z formatów opisanych w DateTimeFormatInfo temacie. Jeśli value
wartość to null
, metoda zwraca DateTime.MinValuewartość .
Ta metoda próbuje przeanalizować value
całkowicie i uniknąć zgłaszania FormatExceptionelementu . Kończy brak informacji o miesiącu, dniu i roku z bieżącą datą. Jeśli value
zawiera tylko datę i godzinę, ta metoda zakłada godzinę północy. Wszystkie znaki wiodące, wewnętrzne lub końcowe znaki odstępu w elemecie value
są ignorowane.
Jeśli wolisz nie obsługiwać wyjątku, jeśli konwersja nie powiedzie się, możesz wywołać metodę DateTime.TryParse zamiast tego. Zwraca wartość wskazującą, czy konwersja zakończyła się powodzeniem Boolean , czy niepowodzeniem.
Zobacz też
Dotyczy
ToDateTime(UInt16)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Wywołanie tej metody zawsze zgłasza błąd 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
Parametry
- value
- UInt16
16-bitowa liczba całkowita bez znaku, która ma zostać przekształcona.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
- Atrybuty
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(String, IFormatProvider)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Konwertuje określoną reprezentację ciągu liczby na równoważną datę i godzinę przy użyciu określonych informacji formatowania specyficznych dla kultury.
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
Parametry
- value
- String
Ciąg zawierający datę i godzinę, które należy przekształcić.
- provider
- IFormatProvider
Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.
Zwraca
Data i godzina równoważna wartości value
, lub data i godzina równoważna wartości DateTime.MinValue , jeśli value
jest to null
.
Wyjątki
value
nie jest poprawnie sformatowanym ciągiem daty i godziny.
Przykłady
Poniższy przykład konwertuje reprezentacje ciągów wartości daty za ToDateTime
pomocą metody przy użyciu IFormatProvider obiektu.
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
Uwagi
Wartość zwracana jest wynikiem wywołania metody w metodzie DateTime.Parse(String, IFormatProvider)value
.
provider
IFormatProvider to wystąpienie, które uzyskuje DateTimeFormatInfo obiekt. Obiekt DateTimeFormatInfo udostępnia informacje specyficzne dla kultury dotyczące formatu .value
Jeśli provider
jest to null
, DateTimeFormatInfo jest używana wartość dla bieżącej kultury.
Jeśli wolisz nie obsługiwać wyjątku, jeśli konwersja nie powiedzie się, możesz wywołać metodę DateTime.TryParse zamiast tego. Zwraca wartość wskazującą, czy konwersja zakończyła się powodzeniem Boolean , czy niepowodzeniem.
Zobacz też
Dotyczy
ToDateTime(UInt64)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Wywołanie tej metody zawsze zgłasza błąd 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
Parametry
- value
- UInt64
64-bitowa liczba całkowita bez znaku, która ma być konwertowana.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
- Atrybuty
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Object, IFormatProvider)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Konwertuje wartość określonego obiektu na DateTime obiekt przy użyciu określonych informacji o formatowaniu specyficznym dla kultury.
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
Parametry
- value
- Object
Obiekt, który implementuje IConvertible interfejs.
- provider
- IFormatProvider
Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.
Zwraca
Data i godzina równoważna wartości value
, lub data i godzina równoważna wartości DateTime.MinValue , jeśli value
jest to null
.
Wyjątki
value
nie jest prawidłową wartością daty i godziny.
Przykłady
W poniższym przykładzie zdefiniowano niestandardowego dostawcę formatu , CustomProvider
którego GetFormat metoda generuje komunikat do konsoli, który został wywołany, a następnie zwraca DateTimeFormatInfo obiekt kultury, której nazwa została przekazana jako parametr do konstruktora klasy. Każdy z tych CustomProvider
obiektów służy do konwertowania elementów w tablicy obiektów na wartości daty i godziny. Dane wyjściowe wskazują, że CustomProvider
obiekt jest używany w konwersji tylko wtedy, gdy typ parametru value
to 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
Uwagi
Wartość zwracana jest wynikiem wywołania IConvertible.ToDateTime metody bazowego typu value
.
provider
umożliwia użytkownikowi określenie informacji o konwersji specyficznej dla kultury na temat zawartości elementu value
. Jeśli na przykład value
jest to data reprezentująca String , provider
może dostarczyć informacje specyficzne dla kultury dotyczące notacji użytej do reprezentowania tej daty.
provider
jest zaangażowany w konwersjęvalue
, jeśli typ środowiska uruchomieniowego to String, lub jeśli value
jest typem value
zdefiniowanym przez użytkownika, którego IConvertible.ToDateTime implementacja korzysta z provider
. Jeśli typ środowiska uruchomieniowego value
to String i provider
jest null
, CultureInfo używany jest obiekt reprezentujący bieżącą kulturę.
Zobacz też
Dotyczy
ToDateTime(SByte)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- SByte
Liczba całkowita ze znakiem 8-bitowym, która ma być konwertowana.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
- Atrybuty
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(UInt32)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- UInt32
32-bitowa liczba całkowita bez znaku do konwersji.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
- Atrybuty
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Object)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Konwertuje wartość określonego obiektu na DateTime obiekt.
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
Parametry
- value
- Object
Obiekt implementujący IConvertible interfejs lub null
.
Zwraca
Data i godzina równoważna wartości value
elementu lub data i godzina równoważna wartości DateTime.MinValue , jeśli value
ma wartość null
.
Wyjątki
value
nie jest prawidłową wartością daty i godziny.
Przykłady
Poniższy przykład wywołuje metodę ToDateTime(Object) z różnymi zmiennymi Object .
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.
Uwagi
Aby konwersja powiodła się, typ środowiska uruchomieniowego parametru value
musi mieć DateTime wartość lub String, lub value
musi mieć wartość null
. W przeciwnym razie metoda zgłasza błąd InvalidCastException. Ponadto, jeśli value
jest ciągiem, musi zawierać prawidłową reprezentację wartości daty i godziny w bieżącej kulturze lub FormatException jest zgłaszana.
Zwracana wartość jest wynikiem wywołania IConvertible.ToDateTime metody bazowego typu value
.
Dotyczy
ToDateTime(Int16)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Int16
16-bitowa liczba całkowita ze znakiem, która ma zostać przekształcona.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Int32)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Int32
32-bitowa liczba całkowita ze znakiem do konwersji.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Int64)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Int64
64-bitowa liczba całkowita ze znakiem do konwersji.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Double)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Double
Wartość zmiennoprzecinkowa o podwójnej precyzji do przekonwertowania.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Decimal)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Decimal
Liczba do przekonwertowania.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Dotyczy
ToDateTime(DateTime)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Zwraca określony DateTime obiekt; nie jest wykonywana rzeczywista konwersja.
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
Parametry
- value
- DateTime
Wartość daty i godziny.
Zwraca
value
jest zwracany bez zmian.
Dotyczy
ToDateTime(Char)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Char
Znak Unicode, który ma zostać przekształcony.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Byte)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Byte
8-bitowa liczba całkowita bez znaku do konwersji.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.
Zobacz też
Dotyczy
ToDateTime(Boolean)
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
- Źródło:
- Convert.cs
Wywołanie tej metody zawsze zgłasza wyjątek 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
Parametry
- value
- Boolean
Wartość logiczna, która ma zostać przekształcona.
Zwraca
Ta konwersja nie jest obsługiwana. Nie jest zwracana żadna wartość.
Wyjątki
Ta konwersja nie jest obsługiwana.