Прочитать на английском

Поделиться через


CultureInfo.DateTimeFormat Свойство

Определение

Возвращает или задает DateTimeFormatInfo, определяющий формат отображения даты и времени, соответствующий языку и региональным параметрам.

C#
public virtual System.Globalization.DateTimeFormatInfo DateTimeFormat { get; set; }

Значение свойства

DateTimeFormatInfo, определяющий формат отображения даты и времени, соответствующий языку и региональным параметрам.

Исключения

Для свойства задано значение NULL.

Для свойства DateTimeFormat или любого из свойств DateTimeFormatInfo заданы значения, а CultureInfo доступен только для чтения.

Примеры

В следующем примере кода показано, что CultureInfo.Clone также клонирует экземпляры DateTimeFormatInfo и NumberFormatInfo , связанные с CultureInfo.

C#
using System;
using System.Globalization;

public class SamplesCultureInfo  {

   public static void Main()  {

      // Creates and initializes a CultureInfo.
      CultureInfo myCI = new CultureInfo("en-US", false);

      // Clones myCI and modifies the DTFI and NFI instances associated with the clone.
      CultureInfo myCIclone = (CultureInfo) myCI.Clone();
      myCIclone.DateTimeFormat.AMDesignator = "a.m.";
      myCIclone.DateTimeFormat.DateSeparator = "-";
      myCIclone.NumberFormat.CurrencySymbol = "USD";
      myCIclone.NumberFormat.NumberDecimalDigits = 4;

      // Displays the properties of the DTFI and NFI instances associated with the original and with the clone.
      Console.WriteLine( "DTFI/NFI PROPERTY\tORIGINAL\tMODIFIED CLONE" );
      Console.WriteLine( "DTFI.AMDesignator\t{0}\t\t{1}", myCI.DateTimeFormat.AMDesignator, myCIclone.DateTimeFormat.AMDesignator );
      Console.WriteLine( "DTFI.DateSeparator\t{0}\t\t{1}", myCI.DateTimeFormat.DateSeparator, myCIclone.DateTimeFormat.DateSeparator );
      Console.WriteLine( "NFI.CurrencySymbol\t{0}\t\t{1}", myCI.NumberFormat.CurrencySymbol, myCIclone.NumberFormat.CurrencySymbol );
      Console.WriteLine( "NFI.NumberDecimalDigits\t{0}\t\t{1}", myCI.NumberFormat.NumberDecimalDigits, myCIclone.NumberFormat.NumberDecimalDigits );
   }
}

/*
This code produces the following output.

DTFI/NFI PROPERTY       ORIGINAL        MODIFIED CLONE
DTFI.AMDesignator       AM              a.m.
DTFI.DateSeparator      /               -
NFI.CurrencySymbol      $               USD
NFI.NumberDecimalDigits 2               4

*/

Комментарии

Вы можете переопределить некоторые значения, связанные с текущим языком и региональными параметрами Windows, с помощью региональных и языковых параметров панель управления. Например, пользователь может отобразить дату в другом формате или использовать валюту, отличную от используемой по умолчанию для языка и региональных параметров.

Если UseUserOverride имеет значение true и указанный язык и региональные параметры соответствуют текущему языку CultureInfo и региональным параметрам Windows, класс использует эти переопределения, включая пользовательские параметры для свойств экземпляра DateTimeFormatInfo , возвращаемого свойством DateTimeFormat , и свойства экземпляра, возвращаемого NumberFormatInfo свойством NumberFormat . Если параметры пользователя несовместимы с языком и региональными параметрами, связанными с CultureInfo, например, если выбранный календарь не является одним из OptionalCalendars, результаты методов и значения свойств не определены.

Значение DateTimeFormat свойства и NumberFormat свойства не вычисляется до тех пор, пока приложение не будет обращаться к свойству. Если пользователь может изменить текущий язык и региональные параметры на новый во время работы приложения, а затем приложение обращается к свойству DateTimeFormat или NumberFormat , приложение получает значения по умолчанию для нового языка и региональных параметров, а не переопределения для исходного языка и региональных параметров. Чтобы сохранить переопределения для исходного текущего языка и региональных параметров, приложение должно получить доступ к свойствам DateTimeFormat и NumberFormat перед изменением текущего языка и региональных параметров.

Примечания для тех, кто вызывает этот метод

Если Calendar имеет значение , TaiwanCalendar но CurrentCulture для не задано значение китайского языка (Тайвань) с именем zh-TW, то NativeCalendarName, GetEraName(Int32)и GetAbbreviatedEraName(Int32) возвращают пустую строку ("").

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел