ToDateTime Method (String, IFormatProvider)
Collapse the table of content
Expand the table of content

Convert.ToDateTime Method (String, IFormatProvider)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Converts the specified String representation of a number to an equivalent DateTime using the specified culture-specific formatting information.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Shared Function ToDateTime ( _
	value As String, _
	provider As IFormatProvider _
) As DateTime

Parameters

value
Type: System.String
A String containing a date and time to convert.
provider
Type: System.IFormatProvider
An IFormatProvider interface implementation that supplies culture-specific formatting information.

Return Value

Type: System.DateTime
A DateTime equivalent to the value of value.
-or-
A DateTime equivalent to DateTime.MinValue if value is Nothing.

ExceptionCondition
FormatException

value is not a properly formatted date and time string.

The return value is the result of invoking the DateTime.Parse method on value.

provider is an IFormatProvider instance that obtains a DateTimeFormatInfo object. The DateTimeFormatInfo object provides culture-specific information about the format of value. If provider is Nothing, the DateTimeFormatInfo for the current culture is used.

If you prefer not to handle an exception if the conversion fails, you can call the DateTime.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

The following example converts String representations of date values with the Convert.ToDateTime(String, IFormatProvider) method, using an IFormatProvider object.


Imports System.Globalization

Module Example
   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      outputBlock.FontFamily = New FontFamily("Courier New")
      outputBlock.Text += String.Format("{0,-18}{1,-12}{2}", "Date String", "Culture", "Result") + vbCrLf
      outputBlock.Text += vbCrLf

      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.
                outputBlock.Text += String.Format("{0,-18}{1,-12}{2:yyyy-MMM-dd}", _
                                  dateStr, cultureName, dateTimeValue) + vbCrLf
            Catch e As FormatException 
                outputBlock.Text += String.Format("{0,-18}{1,-12}{2}", _
                                  dateStr, cultureName, e.GetType().Name) + vbCrLf
            End Try            
         Next
         outputBlock.Text += vbCrLf
      Next
   End Sub
End Module
' This example displays the following output:
' 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


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft