Convert.ToDateTime Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi nilai tertentu menjadi DateTime nilai.
Overload
ToDateTime(Single) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(String) |
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke nilai tanggal dan waktu yang setara. |
ToDateTime(UInt16) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(String, IFormatProvider) |
Mengonversi representasi string yang ditentukan dari angka menjadi tanggal dan waktu yang setara, menggunakan informasi pemformatan khusus budaya yang ditentukan. |
ToDateTime(UInt64) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Object, IFormatProvider) |
Mengonversi nilai objek yang ditentukan menjadi DateTime objek, menggunakan informasi pemformatan khusus budaya yang ditentukan. |
ToDateTime(SByte) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(UInt32) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Object) |
Mengonversi nilai objek yang ditentukan menjadi DateTime objek. |
ToDateTime(Int16) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Int32) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Int64) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Double) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Decimal) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(DateTime) |
Mengembalikan objek yang ditentukan DateTime ; tidak ada konversi aktual yang dilakukan. |
ToDateTime(Char) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Byte) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Boolean) |
Memanggil metode ini selalu melempar InvalidCastException. |
ToDateTime(Single)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melempar InvalidCastException.
public:
static DateTime ToDateTime(float value);
public static DateTime ToDateTime (float value);
static member ToDateTime : single -> DateTime
Public Shared Function ToDateTime (value As Single) As DateTime
Parameter
- value
- Single
Nilai floating-point presisi tunggal untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(String)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke nilai tanggal dan waktu yang setara.
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
Parameter
- value
- String
Representasi string tanggal dan waktu.
Mengembalikan
Tanggal dan waktu yang setara dengan nilai value
, atau tanggal dan waktu yang setara dengan DateTime.MinValue jika value
adalah null
.
Pengecualian
value
bukan string tanggal dan waktu yang diformat dengan benar.
Contoh
Contoh berikut menggunakan ToDateTime metode untuk mengonversi berbagai representasi string tanggal dan waktu menjadi DateTime nilai.
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.
Keterangan
Jika value
tidak null
, nilai yang dikembalikan adalah hasil dari pemanggilan DateTime.Parse metode pada value
penggunaan informasi pemformatan dalam objek yang diinisialisasi DateTimeFormatInfo untuk budaya saat ini. Argumen value
harus berisi representasi tanggal dan waktu dalam salah satu format yang dijelaskan dalam topik.DateTimeFormatInfo Jika value
adalah null
, metode mengembalikan DateTime.MinValue.
Metode ini mencoba mengurai value
sepenuhnya dan menghindari pelemparan FormatException. Ini melengkapi informasi bulan, hari, dan tahun yang hilang dengan tanggal saat ini. Jika value
hanya berisi tanggal dan tidak ada waktu, metode ini mengasumsikan waktu tengah malam. Setiap karakter value
spasi putih di awal, dalam, atau di belakang diabaikan.
Jika Anda lebih suka tidak menangani pengecualian jika konversi gagal, Anda dapat memanggil metode sebagai gantinya DateTime.TryParse . Ini mengembalikan Boolean nilai yang menunjukkan apakah konversi berhasil atau gagal.
Lihat juga
Berlaku untuk
ToDateTime(UInt16)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Penting
API ini bukan kompatibel CLS.
Memanggil metode ini selalu melempar InvalidCastException.
public:
static DateTime ToDateTime(System::UInt16 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (ushort value);
[<System.CLSCompliant(false)>]
static member ToDateTime : uint16 -> DateTime
Public Shared Function ToDateTime (value As UShort) As DateTime
Parameter
- value
- UInt16
Bilangan bulat yang tidak ditandatangani 16-bit untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
- Atribut
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(String, IFormatProvider)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Mengonversi representasi string yang ditentukan dari angka menjadi tanggal dan waktu yang setara, menggunakan informasi pemformatan khusus budaya yang ditentukan.
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
Parameter
- value
- String
String yang berisi tanggal dan waktu untuk dikonversi.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya.
Mengembalikan
Tanggal dan waktu yang setara dengan nilai value
, atau tanggal dan waktu yang setara dengan DateTime.MinValue jika value
adalah null
.
Pengecualian
value
bukan string tanggal dan waktu yang diformat dengan benar.
Contoh
Contoh berikut mengonversi representasi string nilai tanggal dengan ToDateTime
metode , menggunakan IFormatProvider objek .
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
Keterangan
Nilai yang dikembalikan adalah hasil dari pemanggilan DateTime.Parse(String, IFormatProvider) metode pada value
.
provider
IFormatProvider adalah instans DateTimeFormatInfo yang mendapatkan objek . Objek menyediakan DateTimeFormatInfo informasi khusus budaya tentang format value
. Jika provider
adalah null
, DateTimeFormatInfo untuk budaya saat ini digunakan.
Jika Anda lebih suka tidak menangani pengecualian jika konversi gagal, Anda dapat memanggil metode sebagai gantinya DateTime.TryParse . Ini mengembalikan Boolean nilai yang menunjukkan apakah konversi berhasil atau gagal.
Lihat juga
Berlaku untuk
ToDateTime(UInt64)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Penting
API ini bukan kompatibel CLS.
Memanggil metode ini selalu melempar InvalidCastException.
public:
static DateTime ToDateTime(System::UInt64 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (ulong value);
[<System.CLSCompliant(false)>]
static member ToDateTime : uint64 -> DateTime
Public Shared Function ToDateTime (value As ULong) As DateTime
Parameter
- value
- UInt64
Bilangan bulat tidak bertanda 64-bit untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
- Atribut
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Object, IFormatProvider)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Mengonversi nilai objek yang ditentukan menjadi DateTime objek, menggunakan informasi pemformatan khusus budaya yang ditentukan.
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
Parameter
- value
- Object
Objek yang mengimplementasikan IConvertible antarmuka.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya.
Mengembalikan
Tanggal dan waktu yang setara dengan nilai value
, atau tanggal dan waktu yang setara dengan DateTime.MinValue jika value
adalah null
.
Pengecualian
value
bukan nilai tanggal dan waktu yang valid.
Contoh
Contoh berikut mendefinisikan penyedia format kustom, CustomProvider
, yang metodenya GetFormat menghasilkan pesan ke konsol yang telah dipanggil, lalu mengembalikan DateTimeFormatInfo objek budaya yang namanya diteruskan sebagai parameter ke konstruktor kelasnya. Masing-masing objek ini CustomProvider
digunakan untuk mengonversi elemen dalam array objek menjadi nilai tanggal dan waktu. Output menunjukkan bahwa CustomProvider
objek digunakan dalam konversi hanya ketika jenis value
parameter adalah 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
Keterangan
Nilai yang dikembalikan adalah hasil dari pemanggilan IConvertible.ToDateTime metode dari jenis yang mendasar dari value
.
provider
memungkinkan pengguna untuk menentukan informasi konversi khusus budaya tentang konten value
. Misalnya, jika value
adalah String yang mewakili tanggal, provider
dapat memberikan informasi khusus budaya tentang notasi yang digunakan untuk mewakili tanggal tersebut.
provider
terlibat dalam konversi value
jika jenis value
runtime adalah String, atau jika value
adalah jenis yang ditentukan pengguna yang implementasinya IConvertible.ToDateTime menggunakan provider
. Jika jenis runtime adalah value
String dan provider
adalah null
, CultureInfo objek yang mewakili budaya saat ini digunakan.
Lihat juga
Berlaku untuk
ToDateTime(SByte)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Penting
API ini bukan kompatibel CLS.
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(System::SByte value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (sbyte value);
[<System.CLSCompliant(false)>]
static member ToDateTime : sbyte -> DateTime
Public Shared Function ToDateTime (value As SByte) As DateTime
Parameter
- value
- SByte
Bilangan bulat bertanda tangan 8-bit untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
- Atribut
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(UInt32)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Penting
API ini bukan kompatibel CLS.
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(System::UInt32 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (uint value);
[<System.CLSCompliant(false)>]
static member ToDateTime : uint32 -> DateTime
Public Shared Function ToDateTime (value As UInteger) As DateTime
Parameter
- value
- UInt32
Bilangan bulat 32-bit yang tidak ditandatangani untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
- Atribut
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Object)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Mengonversi nilai objek yang ditentukan menjadi DateTime objek.
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
Parameter
- value
- Object
Objek yang mengimplementasikan IConvertible antarmuka, atau null
.
Mengembalikan
Tanggal dan waktu yang setara dengan nilai value
, atau tanggal dan waktu yang setara dengan DateTime.MinValue jika value
adalah null
.
Pengecualian
value
bukan nilai tanggal dan waktu yang valid.
Contoh
Contoh berikut memanggil ToDateTime(Object) metode dengan berbagai Object variabel.
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.
Keterangan
Agar konversi berhasil, jenis value
runtime parameter harus berupa DateTime atau String, atau value
harus null
. Jika tidak, metode akan melempar InvalidCastException. Selain itu, jika value
merupakan string, string harus berisi representasi yang valid dari nilai tanggal dan waktu dalam budaya saat ini atau yang FormatException dilemparkan.
Nilai yang dikembalikan adalah hasil dari memanggil IConvertible.ToDateTime metode dari jenis yang mendasar dari value
.
Berlaku untuk
ToDateTime(Int16)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(short value);
public static DateTime ToDateTime (short value);
static member ToDateTime : int16 -> DateTime
Public Shared Function ToDateTime (value As Short) As DateTime
Parameter
- value
- Int16
Bilangan bulat bertanda tangan 16-bit untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Int32)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(int value);
public static DateTime ToDateTime (int value);
static member ToDateTime : int -> DateTime
Public Shared Function ToDateTime (value As Integer) As DateTime
Parameter
- value
- Int32
Bilangan bulat bertanda tangan 32-bit untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Int64)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(long value);
public static DateTime ToDateTime (long value);
static member ToDateTime : int64 -> DateTime
Public Shared Function ToDateTime (value As Long) As DateTime
Parameter
- value
- Int64
Bilangan bulat bertanda tangan 64-bit untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Double)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(double value);
public static DateTime ToDateTime (double value);
static member ToDateTime : double -> DateTime
Public Shared Function ToDateTime (value As Double) As DateTime
Parameter
- value
- Double
Nilai floating-point presisi ganda untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Decimal)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(System::Decimal value);
public static DateTime ToDateTime (decimal value);
static member ToDateTime : decimal -> DateTime
Public Shared Function ToDateTime (value As Decimal) As DateTime
Parameter
- value
- Decimal
Angka yang akan dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Berlaku untuk
ToDateTime(DateTime)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Mengembalikan objek yang ditentukan DateTime ; tidak ada konversi aktual yang dilakukan.
public:
static DateTime ToDateTime(DateTime value);
public static DateTime ToDateTime (DateTime value);
static member ToDateTime : DateTime -> DateTime
Public Shared Function ToDateTime (value As DateTime) As DateTime
Parameter
- value
- DateTime
Nilai tanggal dan waktu.
Mengembalikan
value
dikembalikan tidak berubah.
Berlaku untuk
ToDateTime(Char)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(char value);
public static DateTime ToDateTime (char value);
static member ToDateTime : char -> DateTime
Public Shared Function ToDateTime (value As Char) As DateTime
Parameter
- value
- Char
Karakter Unicode yang akan dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Byte)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(System::Byte value);
public static DateTime ToDateTime (byte value);
static member ToDateTime : byte -> DateTime
Public Shared Function ToDateTime (value As Byte) As DateTime
Parameter
- value
- Byte
Bilangan bulat 8-bit yang tidak ditandatangani untuk dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.
Lihat juga
Berlaku untuk
ToDateTime(Boolean)
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
- Sumber:
- Convert.cs
Memanggil metode ini selalu melemparkan InvalidCastException.
public:
static DateTime ToDateTime(bool value);
public static DateTime ToDateTime (bool value);
static member ToDateTime : bool -> DateTime
Public Shared Function ToDateTime (value As Boolean) As DateTime
Parameter
- value
- Boolean
Nilai Boolean yang akan dikonversi.
Mengembalikan
Konversi ini tidak didukung. Tidak ada nilai yang dikembalikan.
Pengecualian
Konversi ini tidak didukung.