Convert.ToDateTime メソッド

定義

指定した値を DateTime 値に変換します。Converts a specified value to a DateTime value.

オーバーロード

ToDateTime(Single)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(String)

指定した日付と時刻の文字列形式を等価の日付と時刻の値に変換します。Converts the specified string representation of a date and time to an equivalent date and time value.

ToDateTime(UInt16)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(String, IFormatProvider)

指定したカルチャに固有の書式情報を使用して、指定した数値の文字列形式を等価な日付と時刻に変換します。Converts the specified string representation of a number to an equivalent date and time, using the specified culture-specific formatting information.

ToDateTime(UInt64)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Object, IFormatProvider)

指定したカルチャに固有の書式情報を使用して、指定したオブジェクトの値を DateTime オブジェクトに変換します。Converts the value of the specified object to a DateTime object, using the specified culture-specific formatting information.

ToDateTime(SByte)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(UInt32)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Object)

指定したオブジェクトの値を DateTime オブジェクトに変換します。Converts the value of the specified object to a DateTime object.

ToDateTime(Double)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Int32)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Boolean)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Byte)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Char)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Int64)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Decimal)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(Int16)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

ToDateTime(DateTime)

指定した DateTime オブジェクトを返します。実際の変換は行われません。Returns the specified DateTime object; no actual conversion is performed.

ToDateTime(Single)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Single

変換する単精度浮動小数点値。The single-precision floating-point value to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(String)

指定した日付と時刻の文字列形式を等価の日付と時刻の値に変換します。Converts the specified string representation of a date and time to an equivalent date and time value.

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

パラメーター

value
String

日付と時刻の文字列形式。The string representation of a date and time.

戻り値

value の値と等価の日付と時刻。valuenullの場合は、MinValue と等価の日付と時刻。The date and time equivalent of the value of value, or the date and time equivalent of MinValue if value is null.

例外

value が、適切に書式設定された日付と時刻の文字列ではありません。value is not a properly formatted date and time string.

次の例ではToDateTime 、メソッドを使用して、日付と時刻のDateTimeさまざまな文字列形式を値に変換します。The following example uses the ToDateTime method to convert various string representations of dates and times to DateTime values.

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.
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.

注釈

valueでないnull場合、戻り値は、現在のカルチャにDateTime.Parse対してvalue初期化されたDateTimeFormatInfoオブジェクトで書式情報を使用して、メソッドを呼び出した結果になります。If value is not null, the return value is the result of invoking the DateTime.Parse method on value using the formatting information in a DateTimeFormatInfo object that is initialized for the current culture. 引数valueには、 DateTimeFormatInfo 「」で説明されているいずれかの形式の日付と時刻の表現が含まれている必要があります。The value argument must contain the representation of a date and time in one of the formats described in the DateTimeFormatInfo topic. valuenull の場合、メソッドは DateTime.MinValue を返します。If value is null, the method returns DateTime.MinValue.

このメソッドは、解析valueを完全に試行しFormatException、をスローしないようにします。This method tries to parse value completely and avoid throwing a FormatException. 現在の日付で、存在しない月、日、および年の情報を完了します。It completes missing month, day, and year information with the current date. value日付と時刻のみが含まれている場合、このメソッドは深夜0時を想定します。If value contains only a date and no time, this method assumes a time of midnight. value先頭、内部、または末尾の空白文字は無視されます。Any leading, inner, or trailing white-space characters in value are ignored.

変換に失敗した場合に例外を処理したくない場合は、代わりにDateTime.TryParseメソッドを呼び出すことができます。If you prefer not to handle an exception if the conversion fails, you can call the DateTime.TryParse method instead. 変換が成功Booleanしたか失敗したかを示す値を返します。It returns a Boolean value that indicates whether the conversion succeeded or failed.

こちらもご覧ください

ToDateTime(UInt16)

重要

この API は CLS 準拠ではありません。

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::UInt16 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (ushort value);
static member ToDateTime : uint16 -> DateTime
Public Shared Function ToDateTime (value As UShort) As DateTime

パラメーター

value
UInt16

変換する 16 ビット符号なし整数。The 16-bit unsigned integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

属性

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(String, IFormatProvider)

指定したカルチャに固有の書式情報を使用して、指定した数値の文字列形式を等価な日付と時刻に変換します。Converts the specified string representation of a number to an equivalent date and time, using the specified culture-specific formatting information.

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

パラメーター

value
String

変換する日時を含む文字列。A string that contains a date and time to convert.

provider
IFormatProvider

カルチャ固有の書式情報を提供するオブジェクト。An object that supplies culture-specific formatting information.

戻り値

value の値と等価の日付と時刻。valuenullの場合は、MinValue と等価の日付と時刻。The date and time equivalent of the value of value, or the date and time equivalent of MinValue if value is null.

例外

value が、適切に書式設定された日付と時刻の文字列ではありません。value is not a properly formatted date and time string.

次の例では、 ToDateTime IFormatProviderオブジェクトを使用して、日付値の文字列形式をメソッドに変換します。The following example converts string representations of date values with the ToDateTime method, using an IFormatProvider object.

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();
      }
   }
}
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

注釈

戻り値は、でDateTime.Parse(String, IFormatProvider) valueメソッドを呼び出した結果です。The return value is the result of invoking the DateTime.Parse(String, IFormatProvider) method on value.

providerは、オブジェクトをDateTimeFormatInfo取得するインスタンスです。IFormatProviderprovider is an IFormatProvider instance that obtains a DateTimeFormatInfo object. オブジェクトDateTimeFormatInfoは、の書式に関するカルチャ固有のvalue情報を提供します。The DateTimeFormatInfo object provides culture-specific information about the format of value. providernull場合は、現在のカルチャのが使用されます。DateTimeFormatInfoIf provider is null, the DateTimeFormatInfo for the current culture is used.

変換に失敗した場合に例外を処理したくない場合は、代わりにDateTime.TryParseメソッドを呼び出すことができます。If you prefer not to handle an exception if the conversion fails, you can call the DateTime.TryParse method instead. 変換が成功Booleanしたか失敗したかを示す値を返します。It returns a Boolean value that indicates whether the conversion succeeded or failed.

こちらもご覧ください

ToDateTime(UInt64)

重要

この API は CLS 準拠ではありません。

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::UInt64 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (ulong value);
static member ToDateTime : uint64 -> DateTime
Public Shared Function ToDateTime (value As ULong) As DateTime

パラメーター

value
UInt64

変換する 64 ビット符号なし整数。The 64-bit unsigned integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

属性

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Object, IFormatProvider)

指定したカルチャに固有の書式情報を使用して、指定したオブジェクトの値を DateTime オブジェクトに変換します。Converts the value of the specified object to a DateTime object, using the specified culture-specific formatting information.

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

パラメーター

value
Object

IConvertible インターフェイスを実装するオブジェクト。An object that implements the IConvertible interface.

provider
IFormatProvider

カルチャ固有の書式情報を提供するオブジェクト。An object that supplies culture-specific formatting information.

戻り値

value の値と等価の日付と時刻。valuenullの場合は、MinValue と等価の日付と時刻。The date and time equivalent of the value of value, or the date and time equivalent of MinValue if value is null.

例外

value は有効な日付と時刻の値ではありません。value is not a valid date and time value.

valueIConvertible インターフェイスを実装していません。value does not implement the IConvertible interface.

または-or- この変換はサポートされていません。The conversion is not supported.

次の例では、 CustomProvider GetFormatメソッドが呼び出されたコンソールにメッセージを出力し、そのクラスにパラメーターとして渡されたDateTimeFormatInfo名前を持つカルチャのオブジェクトを返す、カスタム書式プロバイダーを定義しています。コンストラクター.The following example defines a custom format provider, CustomProvider, whose GetFormat method outputs a message to the console that it has been invoked, and then returns the DateTimeFormatInfo object of the culture whose name was passed as a parameter to its class constructor. これらCustomProviderの各オブジェクトは、オブジェクト配列内の要素を日付と時刻の値に変換するために使用されます。Each of these CustomProvider objects is used to convert the elements in an object array to date and time values. 出力は、 valueパラメーターのCustomProvider型がStringである場合にのみ、オブジェクトが変換で使用されることを示します。The output indicates that the CustomProvider object is used in the conversion only when the type of the value parameter is a 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
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

注釈

戻り値は、のIConvertible.ToDateTime value基になる型のメソッドを呼び出した結果です。The return value is the result of invoking the IConvertible.ToDateTime method of the underlying type of value.

providerユーザーがのvalueコンテンツに関するカルチャ固有の変換情報を指定できるようにします。provider enables the user to specify culture-specific conversion information about the contents of value. たとえば、 value Stringが日付を表すである場合、は、 providerその日付を表すために使用される表記法に関するカルチャ固有の情報を提供できます。For example, if value is a String that represents a date, provider could supply culture-specific information about the notation used to represent that date. provider``valueは、のvalueランタイム型String IConvertible.ToDateTime がでproviderある場合、またはがを使用するユーザー定義型である場合は、の変換に関係します。valueprovider is involved in the conversion of value if the runtime type of value is a String, or if value is a user-defined type whose IConvertible.ToDateTime implementation makes use of provider. valueのランタイム型String がでCultureInfoあり、 nullがである場合は、現在のスレッドカルチャを表すオブジェクトが使用されます。 providerIf the runtime type of value is String and provider is null, the CultureInfo object that represents the current thread culture is used.

こちらもご覧ください

ToDateTime(SByte)

重要

この API は CLS 準拠ではありません。

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::SByte value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (sbyte value);
static member ToDateTime : sbyte -> DateTime
Public Shared Function ToDateTime (value As SByte) As DateTime

パラメーター

value
SByte

変換する 8 ビット符号付き整数。The 8-bit signed integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

属性

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(UInt32)

重要

この API は CLS 準拠ではありません。

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws InvalidCastException.

public:
 static DateTime ToDateTime(System::UInt32 value);
[System.CLSCompliant(false)]
public static DateTime ToDateTime (uint value);
static member ToDateTime : uint32 -> DateTime
Public Shared Function ToDateTime (value As UInteger) As DateTime

パラメーター

value
UInt32

変換する 32 ビット符号なし整数。The 32-bit unsigned integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

属性

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Object)

指定したオブジェクトの値を DateTime オブジェクトに変換します。Converts the value of the specified object to a DateTime object.

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

パラメーター

value
Object

IConvertible インターフェイスを実装するオブジェクトか、または nullAn object that implements the IConvertible interface, or null.

戻り値

value の値と等価の日付と時刻。MinValuevalue の場合は、null と等価の日付と時刻。The date and time equivalent of the value of value, or a date and time equivalent of MinValue if value is null.

例外

value は有効な日付と時刻の値ではありません。value is not a valid date and time value.

valueIConvertible インターフェイスを実装していません。value does not implement the IConvertible interface.

または-or- この変換はサポートされていません。The conversion is not supported.

次の例ではToDateTime(Object)Objectさまざまな変数を使用してメソッドを呼び出します。The following example calls the ToDateTime(Object) method with a variety of Object variables.

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.
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.

注釈

変換をvalue成功さDateTimeせるには、パラメーターのランタイム型はまたはStringであるか、またvalueはでnullある必要があります。For the conversion to succeed, the runtime type of the value parameter must be either a DateTime or a String, or value must be null. それ以外の場合、メソッドInvalidCastExceptionはをスローします。Otherwise, the method throws an InvalidCastException. また、が文字列valueである場合は、現在のカルチャの日付と時刻の値の有効な表現が含まれてFormatExceptionいるか、がスローされている必要があります。In addition, if value is a string, it must contain a valid representation of a date and time value in the current culture or a FormatException is thrown.

戻り値は、のIConvertible.ToDateTime value基になる型のメソッドを呼び出した結果です。The return value is the result of invoking the IConvertible.ToDateTime method of the underlying type of value.

ToDateTime(Double)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Double

変換する倍精度浮動小数点値。The double-precision floating-point value to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Int32)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Int32

変換する 32 ビット符号付き整数。The 32-bit signed integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Boolean)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Boolean

変換するブール値。The Boolean value to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Byte)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Byte

変換する 8 ビット符号なし整数。The 8-bit unsigned integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Char)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Char

変換する Unicode 文字。The Unicode character to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Int64)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Int64

変換する 64 ビット符号付き整数。The 64-bit signed integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(Decimal)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Decimal

変換する数値。The number to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

ToDateTime(Int16)

このメソッドを呼び出すと、必ず InvalidCastException がスローされます。Calling this method always throws 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

パラメーター

value
Int16

変換する 16 ビット符号付き整数。The 16-bit signed integer to convert.

戻り値

この変換はサポートされていません。This conversion is not supported. 値は返されません。No value is returned.

例外

この変換はサポートされていません。This conversion is not supported.

こちらもご覧ください

ToDateTime(DateTime)

指定した DateTime オブジェクトを返します。実際の変換は行われません。Returns the specified DateTime object; no actual conversion is performed.

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

パラメーター

value
DateTime

日付と時刻の値。A date and time value.

戻り値

value は変更されずに返されます。value is returned unchanged.

適用対象