DateTime::ToString Method (String^, IFormatProvider^)
Converts the value of the current DateTime object to its equivalent string representation using the specified format and culture-specific format information.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- format
-
Type:
System::String^
A standard or custom date and time format string.
- 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 format and provider.
| Exception | Condition |
|---|---|
| FormatException | The length of format is 1, and it is not one of the format specifier characters defined for DateTimeFormatInfo. -or- format does not contain a valid custom format pattern. |
| ArgumentOutOfRangeException | The date and time is outside the range of dates supported by the calendar used by provider. |
The format parameter can contain either a single format specifier character (see Standard Date and Time Format Strings) or a custom format pattern (see Custom Date and Time Format Strings). If formatis null or an empty string (""), the standard format specifier, "G", is used.
The provider parameter defines the pattern that corresponds to the standard format specifiers, as well as the symbols and names of date and time components. The provider parameter can be any of the following:
A CultureInfo object that represents the culture whose formatting conventions are to be reflected in the returned string. The DateTimeFormatInfo object returned by the CultureInfo::DateTimeFormat property defines the formatting of the returned string.
A DateTimeFormatInfo object that defines the format of date and time data.
A custom object that implements the IFormatProvider interface. Its GetFormat method returns a DateTimeFormatInfo object that provides formatting information.
If provider is null, the DateTimeFormatInfo associated with the current culture is used. For more information, see CultureInfo::CurrentCulture.
Notes to Callers:
The ToString(String^, IFormatProvider^) method returns the string representation of the date and time in the calendar used 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 UmAlQuraCalendar class.
The following example uses each of the standard date time format strings to display the string representation of a date and time for four different cultures.
The following example demonstrates different ways of formatting a DateTime value using the invariant DateTimeFormatInfo.
using namespace System; using namespace System::Globalization; void main() { DateTime dt = DateTime::Now; array<String^>^format = {L"d",L"D",L"f",L"F",L"g",L"G",L"m",L"r",L"s",L"t",L"T",L"u",L"U",L"y",L"dddd, MMMM dd yyyy",L"ddd, MMM d \"'\"yy",L"dddd, MMMM dd",L"M/yy",L"dd-MM-yy"}; String^ date; for ( int i = 0; i < format->Length; i++ ) { date = dt.ToString( format[ i ], DateTimeFormatInfo::InvariantInfo ); Console::WriteLine( String::Concat( format[ i ], L" :", date ) ); } /** Output. * * d :08/17/2000 * D :Thursday, August 17, 2000 * f :Thursday, August 17, 2000 16:32 * F :Thursday, August 17, 2000 16:32:32 * g :08/17/2000 16:32 * G :08/17/2000 16:32:32 * m :August 17 * r :Thu, 17 Aug 2000 23:32:32 GMT * s :2000-08-17T16:32:32 * t :16:32 * T :16:32:32 * u :2000-08-17 23:32:32Z * U :Thursday, August 17, 2000 23:32:32 * y :August, 2000 * dddd, MMMM dd yyyy :Thursday, August 17 2000 * ddd, MMM d "'"yy :Thu, Aug 17 '00 * dddd, MMMM dd :Thursday, August 17 * M/yy :8/00 * dd-MM-yy :17-08-00 */ }
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1