Export (0) Print
Expand All

DateTimeOffset.ToString Method (IFormatProvider)

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

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

public string ToString(
	IFormatProvider formatProvider
)

Parameters

formatProvider
Type: System.IFormatProvider

An object that supplies culture-specific formatting information.

Return Value

Type: System.String
A string representation of the value of the current DateTimeOffset object, as specified by formatProvider.

ExceptionCondition
ArgumentOutOfRangeException

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

The return value of this method is identical to that of its equivalent overload of the DateTime.ToString method, except that it includes a space followed by the offset appended at the end of the string. In other words, it formats output using the short date pattern, the long time pattern, and the zzz custom format string, with each element separated from the previous element by a space.

The format of these three elements is defined by the formatProvider parameter. The formatProvider parameter can be either of the following:

If formatProvider is null, the DateTimeFormatInfo object associated with the current culture is used (see 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 formatProvider parameter. Its calendar is defined by the Calendar property. If the value of the current DateTimeOffset 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.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo jaJP = new CultureInfo("ja-JP");
      jaJP.DateTimeFormat.Calendar = new JapaneseCalendar(); 
      DateTimeOffset date1 = new DateTimeOffset(new DateTime(1867, 1, 1),
                                                TimeSpan.Zero);

      try {
         Console.WriteLine(date1.ToString(jaJP));
      }
      catch (ArgumentOutOfRangeException) {
         Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", 
                           date1, 
                           jaJP.DateTimeFormat.Calendar.MinSupportedDateTime,  
                           jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime); 
      }
   }
}
// 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 a DateTimeOffset object using CultureInfo objects that represent the invariant culture, as well as four other cultures.

CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture, 
                                           new CultureInfo("en-us"), 
                                           new CultureInfo("fr-fr"), 
                                           new CultureInfo("de-DE"), 
                                           new CultureInfo("es-ES")};

DateTimeOffset thisDate = new DateTimeOffset(2007, 5, 1, 9, 0, 0, 
                                             TimeSpan.Zero);                                            

foreach (CultureInfo culture in cultures)
{
   string cultureName; 
   if (string.IsNullOrEmpty(culture.Name))
      cultureName = culture.NativeName;
   else
      cultureName = culture.Name;

   Console.WriteLine("In {0}, {1}", 
                     cultureName, thisDate.ToString(culture));
}                                            
// The example produces the following output: 
//    In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00 
//    In en-US, 5/1/2007 9:00:00 AM +00:00 
//    In fr-FR, 01/05/2007 09:00:00 +00:00 
//    In de-DE, 01.05.2007 09:00:00 +00:00 
//    In es-ES, 01/05/2007 9:00:00 +00:00

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5 SP1, 3.0 SP1, 2.0 SP1

.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