Export (0) Print
Expand All

DateTime.ToString Method (IFormatProvider)

Converts the value of the current DateTime object to its equivalent string representation using the specified culture-specific format information.

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

'Declaration
Public Function ToString ( _
	provider As IFormatProvider _
) As String

Parameters

provider
Type: System.IFormatProvider

An object that supplies culture-specific formatting information.

Return Value

Type: System.String
A string representation of value of the current DateTime object as specified by provider.

Implements

IConvertible.ToString(IFormatProvider)

ExceptionCondition
ArgumentOutOfRangeException

The date and time is outside the range of dates supported by the calendar used by provider.

The value of the current DateTime object is formatted using the general date and time format specifier ('G'), which formats output using the short date pattern and the long time pattern.

The format of the short date and long time pattern is defined by the provider parameter. The provider parameter can be any of the following:

If provider is Nothing, the DateTimeFormatInfo object associated with the current culture is used. For more information, see CultureInfo.CurrentCulture.

Notes to Callers

The ToString(IFormatProvider) method returns the string representation of the date and time in the calendar used by the culture represented by the provider parameter. Its calendar is defined by the Calendar property. If the value of the current DateTime instance is earlier than Calendar.MinSupportedDateTime or later than Calendar.MaxSupportedDateTime, the method throws an ArgumentOutOfRangeException. The following example provides an illustration. It attempts to format a date that is outside the range of the JapaneseCalendar class.

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim jaJP As New CultureInfo("ja-JP")
      jaJP.DateTimeFormat.Calendar = New JapaneseCalendar() 
      Dim date1 As Date = #01/01/1867#

      Try
         Console.WriteLine(date1.ToString(jaJP))
      Catch e As ArgumentOutOfRangeException
         Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
                           date1, _
                           jaJP.DateTimeFormat.Calendar.MinSupportedDateTime, _ 
                           jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime) 
      End Try 
   End Sub 
End Module 
' The example displays the following output: 
'    1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999

The following example displays the string representation of a date and time using CultureInfo objects that represent five different cultures.

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture, _
                                       New CultureInfo("en-us"), _
                                       New CultureInfo("fr-fr"), _
                                       New CultureInfo("de-DE"), _
                                       New CultureInfo("es-ES"), _
                                       New CultureInfo("ja-JP")}

      Dim thisDate As Date =#5/1/2009 9:00AM#                                            

      For Each culture As CultureInfo In cultures
         Dim cultureName As String  
         If String.IsNullOrEmpty(culture.Name) Then
            cultureName = culture.NativeName
         Else
            cultureName = culture.Name
         End If

         Console.WriteLine("In {0}, {1}", _
                           cultureName, thisDate.ToString(culture))
      Next                                             
   End Sub 
End Module 
' The example produces the following output: 
'    In Invariant Language (Invariant Country), 05/01/2009 09:00:00 
'    In en-US, 5/1/2009 9:00:00 AM 
'    In fr-FR, 01/05/2009 09:00:00 
'    In de-DE, 01.05.2009 09:00:00 
'    In es-ES, 01/05/2009 9:00:00 
'    In ja-JP, 2009/05/01 9:00:00

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft